У меня есть два дерева рядом друг с другом из источника на стороне сервера.
Левое дерево содержит разрешения, которые сгруппированы.
Правое дерево содержит людей.
Я установил правила в событиях отбрасывания, чтобы пользователь не мог перетаскивать что-либо кроме разрешения на что-либо, кроме человека:
$("#tvw-permissions").kendoTreeView({
dragAndDrop: true,
dataSource: permissiondatasource,
dataTextField: ["Text"],
dataSpriteCssClassField: ["SpriteCssClass"],
drop: function (e) {
var srcTree = $($(e.sourceNode).closest("div.k-treeview")).data("kendoTreeView").element[0].id;
var destTree = $($(e.destinationNode).closest("div.k-treeview")).data("kendoTreeView").element[0].id;
if (srcTree == destTree) {
e.setValid(false);
}
var destinationid = $('#' + destTree).data("kendoTreeView").dataSource
.getByUid($(e.destinationNode).data("uid")).id;
if (!destinationid.startsWith('person')) {
e.setValid(false);
return;
}
}
Пока все хорошо. Однако я хочу иметь возможность перетаскивать одно и то же разрешение нескольким людям. Kendo Treeview выполняет «перемещение узла» в операции перетаскивания.
Как мне предотвратить перемещение перетаскиваемого узла в дереве исходного кода?