Страница 1 из 1

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

Добавлено: 2018.01.16, 15:01
Byakuya
Добрый день.

Появилась проблема с использованием 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, но это какой-то сложный способ и оно так не должно работать в моем понимании.

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

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

Добавлено: 2018.01.16, 17:20
proctoleha
Мой 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

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

Добавлено: 2018.01.16, 22:12
Dominus
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',
                 ]
             ],
        ],
    ],
],
//...
Готово!

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

Добавлено: 2018.01.16, 22:13
urichalex
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',
                 ]
             ],
        ],
    ],
],
//...
Готово!
Зачем? Из коробки все нормально работает

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

Добавлено: 2018.01.16, 22:15
Dominus
Столкнулся с такой же проблемой, после удаления папки ./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

Решил установкой другого пакета.

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

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

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

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

P.S.
Вчера что то composer глючил, может из за этого.

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

Добавлено: 2018.01.17, 10:15
Byakuya
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 глючил, может из за этого.
Да, у меня тоже сегодня проблема решилась таким же способом.
Спасибо всем за участие!