Pjax "цепляет" событие несколько раз

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
rotting
Сообщения: 74
Зарегистрирован: 2016.07.28, 15:50

Pjax "цепляет" событие несколько раз

Сообщение rotting »

Есть такой кусок кода с виджетами от Kartik:

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

Pjax::begin([
        'id' => 'pjax-container',
    ]);
$export_menu = ExportMenu::widget([
        'dataProvider' => $dataProvider1,
        'columns' => $gridColumns,
        
.........


echo DynaGrid::widget([
        'columns'=>$gridColumns,
        'storage'=>DynaGrid::TYPE_COOKIE,
        'theme'=>'panel-light',
        'gridOptions'=>[
            'dataProvider'=>$dataProvider1,
            //'filterModel'=>$searchModel,
            'toolbar'=>[
                $export_menu,
                '{toggleData}',

            ],
            'panel'=>['heading'=>'<h3 class="panel-title"><i class="glyphicon glyphicon-tasks"></i>' . \Yii::t('app', 'Catalog of goods', [], $LANGUAGE) . '</h3>'],
        ],
        'options'=>['id'=>'dynagrid-1'] // a unique identifier is important
    ]);
    
    Pjax::end();
Проблема в том, что при нескольких подгрузках pjax столько же раз, судя по всему, цепляется событие на кнопки экспорта таблицы в разные форматы, столько же раз выскакивает модальное окно с кнопкой "скачать".

Как победить?
Loveorigami
Сообщения: 977
Зарегистрирован: 2014.08.27, 21:54

Re: Pjax "цепляет" событие несколько раз

Сообщение Loveorigami »

а если ExportMenu разместить перед pjax?
rotting
Сообщения: 74
Зарегистрирован: 2016.07.28, 15:50

Re: Pjax "цепляет" событие несколько раз

Сообщение rotting »

Loveorigami писал(а): 2019.05.29, 10:13 а если ExportMenu разместить перед pjax?
Так $dataProvider1 для него нужно внутри определять, нет?
Ответить