nick-denry / yii2-filter-action-column

带有自定义过滤内容字段的 Yii2 GridView ActionColumn 组件

安装数: 2,859

依赖: 0

建议者: 0

安全: 0

星标: 3

关注者: 2

分支: 2

开放问题: 0

类型:yii2-extension

0.1.2 2018-03-11 00:56 UTC

This package is auto-updated.

Last update: 2024-09-05 08:39:50 UTC


README

为 Yii2 GridView 提供带有过滤内容支持的 ActionColumn


为 yii2 GridView 提供带有 filterContent 选项的 ActionColumn(ActionColumn 标题按钮)

Latest Stable Version Total Downloads Latest Unstable Version License

预览

AdminLTE 一起

Preview

安装

通过 composer 安装此扩展是首选方式。

运行以下命令之一:

php composer.phar require --prefer-dist nick-denry/yii2-filter-action-column

或者

"nick-denry/yii2-filter-action-column": "^0.1.0"

将以下内容添加到您的 composer.json 文件的 require 部分中。

使用方法

  1. 设置

    1.1. 在您的 GridView 视图中

    use nickdenry\grid\FilterContentActionColumn;

    1.2. 将您的默认 ActionColumn 替换为

    [
        'class' => FilterContentActionColumn::className(),
        // Add your own filterContent
        'filterContent' => function()
        {
            return '<div class="btn-group"> '.
                Html::a('<i class="fa fa-search"></i> Search', ['#'], [
                  'class' => 'btn btn-default search-filter', 'title' => 'Find page',
                ]).
                Html::a('<i class="fa fa-times"></i>', [''], [
                  'class' => 'btn btn-default reset-search-filter', 'title' => 'Reset filter',
                ]).
            '</div>';
        },
        /* Another actionColumn options */
    ],
  2. 每个操作按钮的附加选项

    扩展通过名称提供 GridView 操作按钮的附加选项,例如

    为每个按钮设置单个类

    [
        'class' => FilterContentActionColumn::className(),
        // Set custom classes
        'buttonAdditionalOptions' => [
            'view' => ['class' => 'btn btn-lg btn-success'],
            'update' => ['class' => 'btn btn-default btn-sm'],
            'delete' => ['class' => 'btn btn-danger btn-sm'],
        ],
        ...
        // Add your own filterContent
    ],

    或者按常规设置 buttons

    'buttons' => [
        'view' => function($url, $model, $key) {
            return Html::a(
                Html::tag('span', '', ['class' => "glyphicon glyphicon-eye-open"]),
                ['some/url'],
                [
                    'class' => 'btn btn-default btn-sm', // Here is simple string class
                    'target' => '_blank',
            ]);
        }
    ],

额外设置

  1. 按应用程序设置按钮类。

    3.1. 通过应用程序配置中的 DI

    'container' => [
        'definitions' => [
            nickdenry\grid\FilterContentActionColumn::class => [
                'buttonAdditionalOptions' => [
                    'view' => ['class' => 'btn btn-default btn-sm'],
                    'update' => ['class' => 'btn btn-default btn-sm'],
                    'delete' => ['class' => 'btn btn-danger btn-sm'],
                    // You could also set your "extra" button class
                    // like you point it in "template" option
                    // i.e. 'template' => '{view} {update} {delete} {extra}',
                    'extra' => ['class' => 'btn btn-success btn-sm'],
                ],
            ],
        ],
    ],

    附加信息

    3.2. 如果您想覆盖某些默认按钮,但保持其“全局”的应用程序类属性

    'buttons' => [
        'view' => function($url, $model, $key, $additionalOptions) {
            return Html::a(
                Html::tag('span', '', ['class' => "glyphicon glyphicon-eye-open"]),
                ['some/url'],
                [
                    'class' => $additionalOptions['class'],
                    'target' => '_blank',
                ]
            );
        },
    ]
  2. 自定义删除确认文本

    通过 deleteConfirmText 属性

    [
        'class' => FilterContentActionColumn::className(),
        // Confirmation text
        'deleteConfirmText' => function($model) {
            return 'Are you sure you want to delete "'.$model->title.'" page?';
        },
        ...
        // Add your own filterContent
    ],

    或者简单地

    [
        'class' => FilterContentActionColumn::className(),
        // Confirmation text
        'deleteConfirmText' => 'Custom confirmation',
        ...
        // Add your own filterContent
    ],