liyunfang / yii2-contextmenu
yii2 Extended for bootstrap-contextmenu plugin https://github.com/sydcanem/bootstrap-contextmenu
Installs: 21 093
Dependents: 1
Suggesters: 0
Security: 0
Stars: 23
Watchers: 5
Forks: 10
Open Issues: 2
Type:yii2-extension
Requires
README
yii2 Extended for bootstrap-contextmenu
yii2 Extended for bootstrap-contextmenu plugin https://github.com/sydcanem/bootstrap-contextmenu
Gird right - click operation, you can remove the operation column
Installation
The preferred way to install this extension is through composer.
Either run
composer require --prefer-dist liyunfang/yii2-contextmenu
or add
"liyunfang/yii2-contextmenu": "*"
to the require section of your composer.json
file.
Requirements
This extension require twitter-bootstrap
Usage
Once the extension is installed, simply use it in your code by :
GridView options
'columns' => [ [ 'class' => \liyunfang\contextmenu\SerialColumn::className(), 'contextMenu' => true, //'contextMenuAttribute' => 'id', 'template' => '{view} {update} <li class="divider"></li> {story}', 'buttons' => [ 'story' => function ($url, $model) { $title = Yii::t('app', 'Story'); $label = '<span class="glyphicon glyphicon-film"></span> ' . $title; $url = \Yii::$app->getUrlManager()->createUrl(['/user/story','id' => $model->id]); $options = ['tabindex' => '-1','title' => $title, 'data' => ['pjax' => '0' , 'toggle' => 'tooltip']]; return '<li>' . Html::a($label, $url, $options) . '</li>' . PHP_EOL; } ], ], .... ], 'rowOptions' => function($model, $key, $index, $gird){ $contextMenuId = $gird->columns[0]->contextMenuId; return ['data'=>[ 'toggle' => 'context','target'=> "#".$contextMenuId ]]; },
or use KartikSerialColumn,But this requires the installation of grid Kartik extension. Please see https://github.com/kartik-v/yii2-grid
GridView options
'columns' => [ [ 'class' => \liyunfang\contextmenu\KartikSerialColumn::className(), 'contextMenu' => true, //'contextMenuAttribute' => 'id', //'template' => '{view} {update}', 'contentOptions'=>['class'=>'kartik-sheet-style'], 'headerOptions'=>['class'=>'kartik-sheet-style'], 'urlCreator' => function($action, $model, $key, $index) { if('update' == $action){ return \Yii::$app->getUrlManager()->createUrl(['/user/index','id' => $model->id]); } if('view' == $action){ return \Yii::$app->getUrlManager()->createUrl(['/user/view','id' => $model->id]); } return '#'; }, ], .... ], 'rowOptions' => function($model, $key, $index, $gird){ $contextMenuId = $gird->columns[0]->contextMenuId; return ['data'=>[ 'toggle' => 'context','target'=> "#".$contextMenuId ]]; },
该扩展为gird行右击菜单,可以省去操作列。 提供了继承yii2 grid的SerialColumn 和 继承 Kartik gird的SerialColumn。