На работает jquery-ui из пакета yiisoft/yii2-jui

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Byakuya
Сообщения: 38
Зарегистрирован: 2011.04.23, 21:22

На работает jquery-ui из пакета yiisoft/yii2-jui

Сообщение Byakuya » 2018.01.16, 15:01

Добрый день.

Появилась проблема с использованием jquery-ui.
Мне необходимо использовать Datepicker.
Установил расширение jui (https://github.com/yiisoft/yii2-jui).
Мой composer.json выглядит сейчас так:

Код: Выделить всё

...
"require": {
        "php": ">=5.4.0",
        "yiisoft/yii2": "~2.0.5",
        "yiisoft/yii2-bootstrap": "~2.0.0",
        "yiisoft/yii2-swiftmailer": "~2.0.0",
        "yiisoft/yii2-jui": "^2.0"
    },
...
composer никаких ошибок при обновлении не возвращал (также я пробовал полностью удалять директорию vendor и делать composer install - опять же ошибок не было).
Команда:

Код: Выделить всё

composer global require "fxp/composer-asset-plugin:1.4.2"
Возвращает:
Nothing to install or update
После установки у меня появился каталог bower-asset/jquey-ui с содержимым отсюда https://github.com/jquery/jquery-ui
Собственно примерно в таком же виде (как тут https://github.com/jquery/jquery-ui) файлы копируются в webroot/assets/<папка с jquery-ui>/
и как следствие там нет jquery-ui.js файла.
Судя по инструкции тут https://github.com/yiisoft/yii2-jui оно должно сразу работать "из коробки", но видимо нужно либо как-то автоматизированно собирать jquery-ui.js файл из кусков (а я, к сожалению, с автоматическими сборщиками не знаком), либо подключать requirejs из директории external, но это какой-то сложный способ и оно так не должно работать в моем понимании.

Подскажите, что делать/где почитать что делать.

Аватара пользователя
proctoleha
Сообщения: 107
Зарегистрирован: 2016.07.10, 19:00

Re: На работает jquery-ui из пакета yiisoft/yii2-jui

Сообщение proctoleha » 2018.01.16, 17:20

Мой AdminSortableAsset

Код: Выделить всё

<?php
namespace app\modules\admin\assets;

use yii\web\AssetBundle;

class AdminSortableAsset extends AssetBundle
{
    public $sourcePath = __DIR__ . '/';

    public $css = [
        'css/image_sortable.css'
    ];
    public $js = [
        'js/sortable.js'
    ];
    public $depends = [
        'yii\jui\JuiAsset'
    ];
}
Прекрасно видит jquery-ui

Аватара пользователя
Dominus
Сообщения: 480
Зарегистрирован: 2013.03.14, 21:27
Откуда: Россия, Иваново
Контактная информация:

Re: На работает jquery-ui из пакета yiisoft/yii2-jui

Сообщение Dominus » 2018.01.16, 22:12

Byakuya писал(а):
2018.01.16, 15:01
Подскажите, что делать/где почитать что делать.
Как вариант, установить пакет с дистрибутивом, например этот: https://asset-packagist.org/package/npm ... ry-ui-dist

Код: Выделить всё

composer require npm-asset/jquery-ui-dist
В конфиге переопределить yii\jui\JuiAsset так:

Код: Выделить всё

//...
'aliases' => [
    '@bower' => '@vendor/bower-asset',
    '@npm'   => '@vendor/npm-asset',
],
//...
'components' => [
    //...
    'assetManager' => [
        //...
        'bundles' => [
            'yii\jui\JuiAsset' => [
                'sourcePath' => '@npm/jquery-ui-dist',
                'css' => [
                     'jquery-ui.css',
                     'jquery-ui.theme.css'
                 ],
                 'js' => [
                     'jquery-ui.js',
                 ]
             ],
        ],
    ],
],
//...
Готово!
Последний раз редактировалось Dominus 2018.01.16, 22:13, всего редактировалось 1 раз.
Не спорь с дураком, иначе окружающие не правильно поймут кто из вас дурак!

urichalex
Сообщения: 495
Зарегистрирован: 2015.08.07, 11:03

Re: На работает jquery-ui из пакета yiisoft/yii2-jui

Сообщение urichalex » 2018.01.16, 22:13

Dominus писал(а):
2018.01.16, 22:12
Byakuya писал(а):
2018.01.16, 15:01
Подскажите, что делать/где почитать что делать.
Как вариант, установить пакет с дистрибутивом, например этот: https://asset-packagist.org/package/npm ... ry-ui-dist

Код: Выделить всё

composer require npm-asset/jquery-ui-dist
В конфиге переопределить yii\jui\JuiAsset так:

Код: Выделить всё

//...
'components' => [
    //...
    'assetManager' => [
        //...
        'bundles' => [
            'yii\jui\JuiAsset' => [
                'sourcePath' => '@npm/jquery-ui-dist',
                'css' => [
                     'jquery-ui.css',
                     'jquery-ui.theme.css'
                 ],
                 'js' => [
                     'jquery-ui.js',
                 ]
             ],
        ],
    ],
],
//...
Готово!
Зачем? Из коробки все нормально работает

Аватара пользователя
Dominus
Сообщения: 480
Зарегистрирован: 2013.03.14, 21:27
Откуда: Россия, Иваново
Контактная информация:

Re: На работает jquery-ui из пакета yiisoft/yii2-jui

Сообщение Dominus » 2018.01.16, 22:15

Столкнулся с такой же проблемой, после удаления папки ./vendor и очистки ./web/assets

Удаляем composer.lock и ставим всё на место:

Код: Выделить всё

composer self-update
composer install
в @bower/jquery-ui отсутствует файл jquery-ui.js который регистрируется в yii\jui\JuiAsset

Устанавливаемый пакет: https://github.com/jquery/jquery-ui

Решил установкой другого пакета.
Не спорь с дураком, иначе окружающие не правильно поймут кто из вас дурак!

Аватара пользователя
Dominus
Сообщения: 480
Зарегистрирован: 2013.03.14, 21:27
Откуда: Россия, Иваново
Контактная информация:

Re: На работает jquery-ui из пакета yiisoft/yii2-jui

Сообщение Dominus » 2018.01.17, 09:34

Снова удалил ./vendor и composer.lock
Удалил из composer.json пакет npm-asset/jquery-ui-dist
Удалил в конфиге сделаные ранее настройки для этого пакета
Выполнил

Код: Выделить всё

composer self-update
composer install
На этот раз всё установилось корректно.
Установился этот пакет: https://github.com/components/jqueryui

P.S.
Вчера что то composer глючил, может из за этого.
Не спорь с дураком, иначе окружающие не правильно поймут кто из вас дурак!

Byakuya
Сообщения: 38
Зарегистрирован: 2011.04.23, 21:22

Re: На работает jquery-ui из пакета yiisoft/yii2-jui

Сообщение Byakuya » 2018.01.17, 10:15

Dominus писал(а):
2018.01.17, 09:34
Снова удалил ./vendor и composer.lock
Удалил из composer.json пакет npm-asset/jquery-ui-dist
Удалил в конфиге сделаные ранее настройки для этого пакета
Выполнил

Код: Выделить всё

composer self-update
composer install
На этот раз всё установилось корректно.
Установился этот пакет: https://github.com/components/jqueryui

P.S.
Вчера что то composer глючил, может из за этого.
Да, у меня тоже сегодня проблема решилась таким же способом.
Спасибо всем за участие!

Ответить