Skip to content

可编辑树形结构,子节点可分页的树形结构,增加根据服务器返回结果,对新增、删除、拖拽操作进行确认或回滚。并可对子节点进行分页显示。

cqfdtgm/jquery-easyui-etree

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

jquery-easyui-etree

可编辑树形结构,子节点可分页的树形结构,增加根据服务器返回结果,对新增、删除、拖拽操作进行确认或回滚。并可对子节点进行分页显示。 目前已经结合后端数据进行了下列测试: (暂时后端设定每页显示4个节点,子节点数量限制为10) 后端数据库基础表的字段及含义:

create table org (
    id primarikey integer auto_increment,
    parentid integer,   -- 父节点,如果为0,表示是根节点
    text varchar(200),  -- 节点名称
    display integer,    -- 同级节点显示顺序,可以通过前端拖拽进行调整
    state  char(10),    -- open 表示无下级, 或者closed 表示有下级,可展开。
    path   varchar(500),    -- 由根节点到本节点的路径,为点分隔的数字串,可选字段,可以增强部分树的操作,减少遍历次数
    level integer,  -- 节点级别,等于path中点的,可选字段。
)    
  1. 新增节点

    1. 新增根节点(不选中任意节点,如已选中情况,点击刷新按钮即可放弃选中)。对根节点,text默认由后端指定,state默认为"open",display默认为根节点中最大值加1,后端返回形如{id:"1",text:"new item", state:"open", display:2}。
    2. 当新增根节点超过4个时,点刷新,可正常显示根节点的翻栏。(节点数量少于等于4个时,后台返回结果:[{id:1, text:'item1', parentid:0}, ..],节点数量大于4个时,后台返回:{total:9, pagesize:4, page:1, rows:[{id:1, ..}, {..}, {..}, {..}]}。
    3. 拖动以改变各个根节点的显示排序,可正常保存。
    4. 删除某根节点。
    5. 继续删除根节点,至根节点数量小于等于4时,刷新,根节点的翻页栏隐藏。
  2. 追加子节点

    1. 在某一个节点下面追加子节点。
    2. 持续追加子节点,当子节点数量达到4个以上时,刷新树,展形至该子节点,可以显示该子节点的翻页栏。
    3. 另选一子节点如上操作,刷新,并展开至该子节点,可以显示翻页栏。并且只会显示当前选中的子节点的翻页栏。
  3. 删除节点

    1. 删除有子节点的节点,会显示失败。(服务端返回{isError:true, msg:"必须先删除下级节点"})
    2. 删除其所有子节点,其state会变更为open,再删除,成功。
  4. 拖动子节点

    1. 在同一子节点下面,拖动各节点节点的显示顺序,能够正常改变。
    2. 持续在某一节点下面追加子节点,至节点数量满10后,再追加会报错。(服务端返回:{isError:true, msg:"子节点数量已达限制"})
    3. 将另一节点试图拖到上述已满容子点下,会报错(服务端返回:{isError:true, msg:"子节点数量已达限制"})
  5. 修改节点文本

    1. 双击修改节点文本,完成后回车,或点击屏幕其他区域。
    2. 双击修改,若要放弃修改,只能按键盘上的ESC键(这个应该是原jeasyui-etree的bug)。

TODO: 1. 可以根据节点id或text,查找,并展开至该节点。 2. 上述1,模糊查找text为多个结果时,展开。 后端整体都是CRUD映射,只是在处理select时,方法名是tree,并且有可能有递归。其中增删改查都很简单,dnd那个后台方法有点复杂。我抽空整理后贴一个上来。

About

可编辑树形结构,子节点可分页的树形结构,增加根据服务器返回结果,对新增、删除、拖拽操作进行确认或回滚。并可对子节点进行分页显示。

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published