Проблемы Dialog

Вопросы по вёрстке и JavaScript
Ответить
Аватара пользователя
leonidps
Сообщения: 261
Зарегистрирован: 2011.01.18, 19:40
Откуда: Псков

Проблемы Dialog

Сообщение leonidps » 2018.03.01, 18:30

поднял версию
2.0.12=>2.0.14.1
теперь
На сервере отказывается работать yii\jui\Dialog;

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

jQuery.Deferred exception: $.fn.button.noConflict is not a function @http://nw:8080/index.php?r=value-appr:359:39
jquery.js:3860:3
TypeError: $.fn.button.noConflict is not a function
index.php:359:39
Error: cannot call methods on dialog prior to initialization; attempted to call method 'open'
jquery.js:273:9
на локальной машине работает по-честному
откат на 2.0.12 не помог
Правила существуют не только для того, чтобы их нарушать.

Аватара пользователя
leonidps
Сообщения: 261
Зарегистрирован: 2011.01.18, 19:40
Откуда: Псков

Re: Проблемы Dialog

Сообщение leonidps » 2018.03.02, 10:35

Немного погуглив можно что-то предположить.
Такая проблема действительно возникает при партиал рендеринге содержимого "divDialog".
Код в проекте ничего особенного не предполагает

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

Dialog::begin([
    'clientOptions' => [
        'modal' => TRUE,
        'autoOpen' => FALSE,
        'open' => new JsExpression('function(event, ui) { 
            $("#'.$dialog_id.'").css("z-index",9999);
            }'),
        'title' => "Заполните поля формы",
    ],
    'options' => [
        'id' => $dialog_id,
    ]
]);
echo $this->render('_current', ['model' => $meter, 'dialog_id' => $dialog_id, 'grid_id' => $grid_id]); ?>
Dialog::end(); ?>
соответственно на странице(в конце)

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

jQuery('#update-current').dialog({"modal":true,"autoOpen":false,"open":function(event, ui) { 
            $("#update-current").css("z-index",9999);
            },"title":"Заполните поля формы","resizable":true,"width":"auto","height":"auto"});
})
При загрузке страницы возникает ошибка "jQuery.Deferred exception: $.fn.button.noConflict is not a function"
диалог не инициализируется, Форма не обертывается и рендерится внизу страницы.
Далее
ошибка
Error: cannot call methods on dialog prior to initialization; attempted to call method 'open'
при попытке придавить ссылку и открыть диалог

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

$("#update-current" ).dialog( "open" );
возникает поскольку диалог не инициализирован(вопрос? - почему пока без ответа).
Чтобы убедить себя я модифицировал ссылку, добавив инициализацию диалога

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

$("#update-current" ).dialog({"modal":true,"autoOpen":false,"open":function(event, ui) { 
            $("#update-current").css("z-index",9999);
            },"title":"Заполните поля формы","resizable":true,"width":"auto","height":"auto"}).dialog( "open" );
теперь ссылка срабатывает без ошибок форма обертывается и диалог открывается.
Локально проблемка решена.
Может версия jq надо обновить
Правила существуют не только для того, чтобы их нарушать.

Аватара пользователя
leonidps
Сообщения: 261
Зарегистрирован: 2011.01.18, 19:40
Откуда: Псков

Re: Проблемы Dialog

Сообщение leonidps » 2018.03.03, 03:40

Вот такое предложение
https://github.com/yiisoft/yii2-jui/issues/62
Правила существуют не только для того, чтобы их нарушать.

Аватара пользователя
leonidps
Сообщения: 261
Зарегистрирован: 2011.01.18, 19:40
Откуда: Псков

Re: Проблемы Dialog

Сообщение leonidps » 2018.03.03, 14:25

Закрываю тему
Правила существуют не только для того, чтобы их нарушать.

Ответить