Невозможно создать подузлы jsTree с именем «Новый узел», если у родительского узла он уже есть, и наоборот - PullRequest
0 голосов
/ 31 мая 2019

Когда я создаю новый экземпляр (подузел) родительского узла («Документы») по умолчанию, он принимает имя как «Новый узел». Опять же, если я пытаюсь создать новый узел для того же родителя, он создает подузел с именем «Новый узел 2» по умолчанию. Теперь, если я пытаюсь создать подузел для существующего подузла (например, для «Нового узла 2»), он не создает его. Я использую таблицу MySQL, чтобы сохранить имя узла с идентификатором в качестве первичного ключа.

При первоначальном создании подузла я попытался создать 2 подузла (например, «PDF» и «EXCEL»), а затем попытался создать еще один подузел в «PDF» с именем «EXCEL». Теперь в этом случае он сохраняет его с новым именем «Новый узел» по умолчанию.

function buildCareDocumentTree(){
    var id = $("#userId").val();
    $("#jstreeContainer").jstree({
        "core":{
            "check_callback": true,
            'data': {
                'url': function(node){
                    return '${pageContext.request.contextPath}/user/documents/folders/children/'+id;
                }, 
                'data': function(node){
                    console.log(node);
                    return /* { 'id' : node.id,"parent" : node.parent, "text" : node.name } */; 
                },
                'children': true,
            },
        }, // so that operations work
        'contextmenu': {
            'items': function(node){
                var tmp = $.jstree.defaults.contextmenu.items();
                delete tmp.create.action;
                tmp.create.label = "New";
                 tmp.create.submenu = {
                    "create_folder": {
                        "separator_after": true,
                        "label": "Folder",
                        "action": function(data) {
                            var inst = $.jstree.reference(data.reference),
                                obj = inst.get_node(data.reference);
                            inst.create_node(obj, {
                                type: "default"
                            }, "last", function(new_node) {
                                setTimeout(function() {
                                    inst.edit(new_node);
                                }, 0);
                            });
                        }
                    },
                    "create_file": {
                        "label": "File",
                        "action": function(data) {
                            $('#md-addDocument').addClass('modal-show');
                            $('#documentForm').parsley().destroy();
                            $('#documentForm')[0].reset();
                        }
                    }
                };
...