laco-agency / gridview-sortable-column
Yii2 gridview sortable column
Installs: 630
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Language:JavaScript
Type:yii2-extension
Requires
- yiisoft/yii2: *
README
Позволяет производить сортировку строк таблиц GridView перетаскиванием мышкой.
Installing
composer require laco-agency/gridview-sortable-column:~v0.
Usage
Добавить настройку
Подключаем поведение к модели. В свойстве orderAttribute можно указать название столбца, по которому будет производиться сортировка. По умолчанию, значение orderAttribute равно sort_order
public function behaviors() { return [ 'sortable' => [ 'class' => \laco\sortable\Behaviour::className(), 'orderAttribute' => 'sort_order', ], ]; }
К одному контроллеру можно подключить сразу несколько действий сортировки и в каждом из них указать собственные настройки. Если свойство orderAttribute не указано, то будет использоваться значение указанное при подключении Поведения сортировки к модели.
public function actions() { return [ 'sorting-one' => [ 'class' => \laco\sortable\Action::className(), 'modelClass' => YourModel::className(), 'orderAttribute' => 'sort_order_one' ], 'sorting-two' => [ 'class' => \laco\sortable\Action::className(), 'modelClass' => YourModel::className(), 'orderAttribute' => 'sort_order_two ], ]; }
Добавить в GridView столбец сортировка:
echo \yii\grid\GridView::widget([ 'dataProvider' => $model->search(), 'rowOptions' => function ($model, $key, $index, $grid) { return ['data-sortable-id' => $model->id]; }, 'columns' => [ [ 'class' => \laco\sortable\Column::className(), 'url' => \yii\helpers\Url::toRoute(['controller/sorting-action']) ], ] ]);