torfs-ict/ea-sortable-bundle

EasyAdmin bundle中的可排序实体,具有拖放界面

安装: 836

依赖项: 0

建议者: 0

安全: 0

星标: 1

关注者: 2

分支: 5

开放问题: 2

语言:JavaScript

类型:symfony-bundle

1.0.1 2024-04-26 09:12 UTC

This package is auto-updated.

Last update: 2024-08-26 09:49:32 UTC


README

此bundle提供了一种方便的方法,使您的实体可排序,并在EasyAdmin列表视图中实现拖放。

JavaScript和CSS是从treetop1500/easyadmin-dragndrop-sort 复制的,并进行了一些小的改进。

安装

使用composer安装此bundle

$ composer req torfs-ict/ea-sortable-bundle

将bundle路由添加到config/routes.yaml

ea-sortable:
  resource: '@OrkestraEaSortableBundle/Controller/'
  type: annotation

用法

使用可排序特质

Orkestra\EaSortable\SortableTrait特质添加到您的实体中。以下是EasyAdmin的示例配置。

easy_admin:
  entities:
    SortableEntity:
      class: App\Entity\SortableEntity
      list:
        sort: ['position', 'ASC']
        actions:
          - delete
          - edit
          - new
          - search
          - { name: sort, template: '@OrkestraEaSortable/ea-sortable.html.twig' }
        fields:
          - { property: id, label: '$Id', sortable: false }
          - { property: name, label: Name, sortable: false }

有关配置的一些说明

  1. 设置sort选项是强制性的
  2. 您需要提供自定义的sort动作以启用拖放功能
  3. 必须在所有其他列表字段上禁用排序(在EasyAdmin中无法全局进行此操作)

不使用可排序特质

只要您的排序属性名为position,您就可以遵循与使用可排序特质相同的步骤。如果不是,您需要进行以下操作

  1. sort选项中更改属性
  2. sort动作上配置属性

以下示例假设排序属性名为index

easy_admin:
  entities:
    SortableEntity:
      class: App\Entity\SortableEntity
      list:
        sort: ['index', 'ASC']
        actions:
          - delete
          - edit
          - new
          - search
          - { name: sort, template: '@OrkestraEaSortable/ea-sortable.html.twig', property: index }
        fields:
          - { property: id, label: '$Id', sortable: false }
          - { property: name, label: Name, sortable: false }