1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
function show_tree(){ $('#cat_tree').jstree('destroy'); var $tree = $('#cat_tree') // listen for event .on('changed.jstree', function (e, data) { var id = data.selected[data.selected.length-1]; $('#cat_id').val(id); $('#show_selected_id').html('ID: ' + id); }) .on('rename_node.jstree', function (e, data) { //console.log(data.node.id); //console.log(is_numeric(data.node.id)); if(is_numeric(data.node.id) == false) return; var parent = data.node.parent; if(parent == '#') { parent = 0; } update_item('update', parent, data.node.id, data.text); }) .on('delete_node.jstree', function (e, data) { delete_item(data.node.id); }) .on('create_node.jstree', function (e, data) { update_item('new', data.node.parent, 0, data.node.text); }); $.ajax('services/cat/get_tree.php', { type: 'POST', data: {}, success: function(data, textStatus, jqXHR){ //console.log(data); $tree.jstree({ 'core': { "multiple" : false, 'data': data, "check_callback" : true }, 'plugins': ['contextmenu', "sort", 'state'], contextmenu: {items: context_menu} }); }, error: function(jqXHR, textStatus, errorThrown){ $.msg('Error:' + jqXHR.responseText); } }); } function context_menu(node){ var tree = $('#cat_tree').jstree(true); // The default set of all items var items = { "Create": { "separator_before": false, "separator_after": false, "label": "Create", "action": function (obj) { var $node = tree.create_node(node); tree.edit($node); } }, "Rename": { "separator_before": false, "separator_after": false, "label": "Rename", "action": function (obj) { tree.edit(node); } }, "Edit": { "separator_before": false, "separator_after": false, "label": "Edit", "action": function (obj) { //tree.edit(node); } }, "Remove": { "separator_before": true, "separator_after": false, "label": "Remove", "action": function (obj) { if(confirm('Are you sure to remove this category?')){ tree.delete_node(node); } } } }; return items; } |