Ext.js редактируемые TreeNodes - PullRequest
       42

Ext.js редактируемые TreeNodes

2 голосов
/ 20 декабря 2010

Возможно ли сделать TreeNodes (т.е. папки) редактируемыми пользователем?Я вижу, что есть опция с именем editable в классе TreeNode, но я не могу заставить ее работать или найти примеры ее использования.

Мой другой квест - разместить поле ввода в узлах, чтобы пользователь мог вводить числаза каждый предмет.Как я могу это сделать?

1 Ответ

4 голосов
/ 21 декабря 2010

Добавление new Ext.tree.TreeEditor(yourTree); будет достаточно, чтобы сделать дерево редактируемым.

Но вы можете определить гораздо больше, используя два других параметра контуров:

var te = new Ext.tree.TreeEditor(tree, new Ext.form.NumberField({
    allowBlank: false,
    blankText: 'A number is required'
}), {
    editDelay: 100,
    revertInvalid: false
});

te.on("complete", function(node) {
    alert(node.startValue + ' -> ' + node.editNode.text);
});

Там я использовал NumberField, чтобы вы могли вводить там только цифры.

И вы можете ограничить издание, используя editable свойство каждого TreeNode (да, тот, который вы упомянули), или используя beforestartedit событие TreeEditor :

te.on('beforestartedit', function(ed, boundEl, value) {
    if (ed.editNode.leaf)
      return false;
});

На jsbin.com / ExtJS-TreeEditor / 2 у вас есть живой пример, который я сделал на основе примера Sencha Treebox PanelPanel , разница в том, что вы можете редактировать узлы папок на моем примере.

Просто выберите папку и затем снова щелкните по этой папке, редактор (NumberField) должен появиться над именем папки.

...