owl/list-delete

该包已被弃用,不再维护。未建议替代包。

OctoberCMS 的列表删除行为。

dev-master / 1.0.x-dev 2015-07-12 17:55 UTC

This package is auto-updated.

Last update: 2021-09-27 11:36:35 UTC


README

OctoberCMS 的列表删除行为。

Packagist

安装

要安装列表删除行为,请将以下内容添加到您的插件 composer.json 文件中。

"require": {
    "owl/list-delete": "~1.0@dev"
}

接下来,在您的控制器中实现该行为...

public $implement = [
    'Backend.Behaviors.FormController',
    'Backend.Behaviors.ListController',
    'Owl.Behaviors.ListDelete.Behavior',    // <-- add this line
];

然后,在您的 config_list.yaml 文件中启用复选框...

showCheckboxes: true    # <-- uncomment this line

最后,将按钮添加到您的 _list_toolbar.htm 文件中...

<button
    class="btn btn-default oc-icon-trash-o"
    disabled="disabled"
    onclick="$(this).data('request-data', {
        checked: $('.control-list').listWidget('getChecked')
    })"
    data-request="onDelete"
    data-request-confirm="<?= e(trans('backend::lang.list.delete_selected_confirm')) ?>"
    data-trigger-action="enable"
    data-trigger=".control-list input[type=checkbox]"
    data-trigger-condition="checked"
    data-request-success="$(this).prop('disabled', false)"
    data-stripe-load-indicator>
    <?= e(trans('backend::lang.list.delete_selected')) ?>
</button>

覆盖默认操作

如果您需要执行额外的删除逻辑,只需将以下方法添加到您的控制器中。

public function overrideListDelete($record)
{
    $record->delete();
    // do whatever else you need to do
}

要覆盖记录删除后应执行的操作,请将以下方法添加到您的控制器中。

public function afterListDelete()
{
    Flash::success('Things were deleted!');
}

默认情况下,删除后列表将刷新。如果您想覆盖此行为,请将以下方法添加到您的控制器中。

public function overrideListRefresh()
{
    // do stuff here
}