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

v0.5 2021-12-30 15:56 UTC

This package is auto-updated.

Last update: 2024-05-29 03:56:37 UTC


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'])
        ],
    ]
]);