Я получил TreeView для KendoUI следующим образом:
На данный момент можно переключать элементы первого уровня с помощью перетаскивания (group, rect-1.., line, text). Нельзя группировать элементы, перетаскивая элементы изнутри группы вне группы. это должно быть возможно только для переключения элементов внутри группы и переключения элементов на первом уровне.
Как я могу это сделать?
Я пытаюсь ответить, и я надеюсь, что он соответствует точному поведению, которое вы хотите
Невозможно группировать элементы, перетаскивать элементы изнутри группы вне группы
это должно быть возможно только для переключения элементов внутри группы
этим я предполагаю, что вы хотите только внутри 2-го элемента на каждом 1-м элементе, не можете переключать родительское (первое условие)
мое (второе условие) не позволяет вам создать третий элемент, перетащив второй элемент поверх другого второго элемента
мое (третье условие if) разрешает только перемещение 1-го элемента, на данный момент я прокомментирую его, поскольку я не уверен, что вы имеете в виду, только позволяя первому элементу изменять
Добавьте функцию drop в свое дерево, добавьте этот код:
drop: function(e) {
var data = $('#treeview-left').data('kendoTreeView').dataItem(e.sourceNode);
var newData = $('#treeview-left').data('kendoTreeView').dataItem(e.destinationNode);
// do not allow changing levels
if (data.parent() != newData.parent() ) {
console.log("do not allow changing levels");
e.setValid(false);
}
// do not allow adding to leaf node
if (!newData.hasChidren && e.dropPosition == "over") {
console.log("do not allow adding to leaf node");
e.setValid(false);
}
//only allow 1st level element drag drop but not 2nd element
//if (data.parent()){
// console.log("only allow 1st parent drag drop");
// e.setValid(false);
// }
},