javascript - 如何防止删除、编辑和拖动树中的记录。 Extjs

标签 javascript extjs

在Ext.tree.Panel中,编辑记录是通过rowediting插件完成的。 如何防止删除或编辑最上面的根记录?

以及如何禁止拖动除了childNode之外的最上面的记录?

拖动是使用treeviewdragdrop插件完成的。 下面是插件代码。

...
plugins: [{
        ptype: 'rowediting',
        clicksToMoveEditor: 1,
        autoCancel: false,
        listeners: {
            afteredit : function (editor, context, eOpts ){
                context.store.reload();

            },
            canceledit : function ( editor, context, eOpts ){
                context.store.reload();

            }
        }
    }],
    viewConfig: {
        plugins: [{
            ptype: 'treeviewdragdrop',
            containerScroll: true
        }]
    }, 
...

fiddle 中的示例,在文件 app/view/QuestionTree.js

最佳答案

只是为了添加到解决方案中,为了防止拖动最上面的记录,您还可以使用:

       listeners: {
            viewready: function (tree) {
                var view = tree.getView(),
                    dd = view.findPlugin('treeviewdragdrop');

                dd.dragZone.onBeforeDrag = function (data, e) {
                    var rec = view.getRecord(e.getTarget(view.itemSelector));
                    return rec.isLeaf();
                };
            }
        }

关于javascript - 如何防止删除、编辑和拖动树中的记录。 Extjs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53519121/

相关文章:

javascript - 在另一个对象数组中过滤一个对象数组的最佳方法是什么?

javascript - 从网格 ExtJs 4 中获取一行

javascript - 启用/禁用在 JQuery 中不起作用

javascript - html li 动画

javascript - 如何在 Sencha Touch 中的 selectfield 中实现嵌套且关联的 model-json?

javascript - 如何将空行添加到 ExtJS 网格?

html - CSS - 已声明样式的计算样式

extjs - 为什么从 ExtJS 4.2.1 升级到 ExtJS 5 时出现错误?

javascript - 使用类的多重继承

javascript - 如何在javascript中动态地将带有数组的深层JS对象减少为没有数组的JS对象?