Как создавать, переименовывать, удалять и перемещать узлы без контекстного меню - PullRequest
1 голос
/ 08 сентября 2010

Мне нужно динамическое контекстное меню для моего jstree, поэтому я создал свое собственное, но мне все еще нужны функции создания, переименования, удаления и перемещения.Они работали во встроенном контекстном меню, но я не могу понять, как это сделать вручную.

Кто-нибудь знает как?

Ответы [ 2 ]

3 голосов
/ 10 сентября 2010

Ознакомьтесь с документацией crrm

Вам также может понадобиться применить привязок , если вы хотите что-то сделать после добавления / редактирования / удаления.

Запись полной спецификации каждой привязки и ее потребностей может занять страницы, поэтому было бы лучше, если бы вы пробились здесь и искали то, что вам нужно - это очень полезно.

Осторожно - версии JSTree ниже 1.0 сильно отличаются от версии 1.0 +

2 голосов
/ 01 января 2014
//Create
function CreateChildNode() {

    var sel = $("#demo1").jstree("get_selected");
    $("#demo1").jstree("create", sel, "inside", { attr: { rel: "Decision" } });       
}

function AddSibling() {
        var sel = $("#demo1").jstree("get_selected");
        $("#demo1").jstree("create", sel, "after", { attr: { rel: "Decision" } });
    }

function MoveUp() {
    var sel = $("#demo1").jstree("get_selected");
    var prev = sel.prev();
    if (prev.length) {
        $("#demo1").jstree("move_node", sel, prev, "before");
    }

    /*
    var inst = $.jstree._focused(),
    slct = inst.get_selected().eq(0),
    prev = slct.prev();
    if (prev.length) inst.move_node(slct, prev, 'before');
    */
}

function MoveDown() {
    var sel = $("#demo1").jstree("get_selected");
    var next = sel.next();
    if (next.length) {
        $("#demo1").jstree("move_node", sel, next, "after");
    }
}

function Remove() {
    var sel = $("#demo1").jstree("get_selected");
    $("#demo1").jstree("remove", sel);
}


function Rename() {
    var sel = $("#demo1").jstree("get_selected");
    $("#demo1").jstree("remove", sel);
}
...