我有一个简单的两级jstree,允许在父节点之间拖放叶子节点。当父节点只包含一个叶子时,当我将叶子拖出时,父节点“变为”一个叶子节点。我想阻止这一点,但我找不到任何文件告诉我如何做到这一点。
我已经包含了正在发生的事情的图形表示。请注意,在图2中,父节点“Proctor”认为它在外观方面是叶子节点。我仍然可以将项目拖入其中,它再次成为非叶子节点。如果父节点保持组图标外观是否为空,则对此接口更有意义。另请注意,当树最初打开时,空的父节点会显示组图标(这是一件好事)。
这是最初出现的树:
这是我将Paul Postler从Proctor拖到投稿人之后的树:
答案 0 :(得分:2)
我想出了一种方法,但它不是特别干净。任何其他答案将不胜感激。这是我添加到绑定的move_node.jstree代码中的内容:
var oldParent = document.getElementById(
(oldIsUnassigned) ? "Unassigned" : "P" + oldRoleId);
var className = oldParent.className.replace("jstree-leaf", "");
if (className.indexOf("jstree-drop") < 0) className += " jstree-drop";
if (className.indexOf("jstree-open") < 0) className += " jstree-open";
oldParent.className = className;