jsTree and Context Menu: modify items jsTree and Context Menu: modify items jquery jquery

jsTree and Context Menu: modify items


Resolved:

"contextmenu":{             "items": function($node) {        var tree = $("#tree").jstree(true);        return {            "Create": {                "separator_before": false,                "separator_after": false,                "label": "Create",                "action": function (obj) {                     $node = tree.create_node($node);                    tree.edit($node);                }            },            "Rename": {                "separator_before": false,                "separator_after": false,                "label": "Rename",                "action": function (obj) {                     tree.edit($node);                }            },                                     "Remove": {                "separator_before": false,                "separator_after": false,                "label": "Remove",                "action": function (obj) {                     tree.delete_node($node);                }            }        };    }}


for jstree v3.+ (i test 3.2.1) this example work

"contextmenu":{                    "items": function () {                        return {                            "Create": {                                "label": "Create",                                "action": function (data) {                                    var ref = $.jstree.reference(data.reference);                                        sel = ref.get_selected();                                    if(!sel.length) { return false; }                                    sel = sel[0];                                    sel = ref.create_node(sel, {"type":"file"});                                    if(sel) {                                        ref.edit(sel);                                    }                                }                            },                            "Rename": {                                "label": "Rename",                                "action": function (data) {                                    var inst = $.jstree.reference(data.reference);                                        obj = inst.get_node(data.reference);                                    inst.edit(obj);                                }                            },                            "Delete": {                                "label": "Delete",                                "action": function (data) {                                    var ref = $.jstree.reference(data.reference),                                        sel = ref.get_selected();                                    if(!sel.length) { return false; }                                    ref.delete_node(sel);                                }                            }                        };                    }                },


Updated code for last version

"contextmenu":{             "items": function($node) {        var tree = $("#tree").jstree(true);        return {            "Create": {                "separator_before": false,                "separator_after": false,                "label": "Create",                "action": function (obj) {                     $node = tree.jstree('create_node', $node);                    tree.jstree('edit', $node);                }            },            "Rename": {                "separator_before": false,                "separator_after": false,                "label": "Rename",                "action": function (obj) {                     tree.jstree('edit', $node);                }            },                                     "Remove": {                "separator_before": false,                "separator_after": false,                "label": "Remove",                "action": function (obj) {                     tree.jstree('delete_node', $node);                }            }        };    }}