starcode/yii2-grid-group-actions

Yii2 extension GridView with group actions

1.1.0 2015-12-10 13:17 UTC

This package is not auto-updated.

Last update: 2024-05-11 17:01:42 UTC


README

Yii2 extension GridView with group actions.

Installation

Via composer

composer require "starcode/yii2-grid-group-actions:*"

or add composer.json

{
    "require": {
        "starcode/yii2-grid-group-actions": "1.*"
    }
}

Usage

Create group actions controller.

    // ...
    public $modelClass = 'app\models\User';
    
    // ...
    public function actions()
    {
        return [
            'delete-group' => [
                 'class' => GroupAction::className(),
                 'run' => function($model) {
                      $model->delete();                 
                 }
            ],
            'publish-group' => [
                'class' => GroupAction::className(),
                'changeAttributes' => ['status' => User::STATUS_ACTIVE],
            ],
        ];
    }
    // ...

Output widget.

<?= GridView::widget([
    'dataProvider' => $dataProvider,
    'actionsButtonsOptions' => [
        'buttonsTemplate' => '{delete-group}',
        'buttons' => [
            'delete-group' => function($url, $widget) {
                $options = array_merge([
                    'form' => $widget->formId,
                    'formaction' => $url,
                    'formmethod' => $widget->formMethod,
                    'name' => 'submit',
                    'class' => 'btn btn-danger',
                ], $widget->buttonOptions);
                return Html::submitButton('<span class="glyphicon glyphicon-trash"></span>', $options);
            },
        ]
    ],
    'filterModel' => $searchModel,
    'columns' => [
        'id',
        'fullName',
        'email:email',
        [
            'class' => 'yii\grid\ActionColumn',
        ],
    ],
]); ?>