ereminmdev/yii2-sortablejs

为 Yii 框架的排序断言。

安装: 992

依赖者: 1

建议者: 0

安全: 0

星星: 0

关注者: 1

分支: 0

开放问题: 0

类型:yii2-extension

v1.0.14 2023-10-23 04:13 UTC

This package is auto-updated.

Last update: 2024-09-07 12:51:07 UTC


README

用于 Yii 框架的可重新排序的拖放列表小部件。

基于 JavaScript 库:https://github.com/RubaXa/Sortable

安装

composer require --prefer-dist ereminmdev/yii2-sortablejs

文档

ClientOptions: https://github.com/RubaXa/Sortable#sortable

使用

将小部件插入视图

<?= \ereminmdev\yii2\sortablejs\SortableJs::widget([
    'elementSelector' => '.items',
    'clientOptions' => [
        'handle' => '.item-handle',
    ],
]) ?>

或使用 SortableJsAction 动作

  • 将动作添加到控制器
public function actions()
{
    return [
        'sortable' => [
            'class' => 'ereminmdev\yii2\sortablejs\SortableJsAction',
        ],
    ];
}
  • 将小部件添加到视图
<?= SortableJs::widget([
    'elementSelector' => '.items',
    'storeSetAction' => Url::toRoute(['/site/sortable', 'model' => Product::class]),
]) ?>

技巧

在 AJAX 之后刷新

  • 在视图中小部件之前添加
$this->registerJs('if (Sortable.active) Sortable.active.destroy();');
  • 或将小部件的 destroyOldBeforeThis 选项设置为 true