Настройка контекстного меню jstree, вызываемого правой кнопкой мыши для различных типов узлов

Java позволяет записать нейтральный в отношении базы данных код. Это позволяет Вам снова использовать существующий код и существенно повышать производительность.

Одна вещь я нахожу, что Хранимые процедуры Java, полезные для, являются Файлом IO. Java имеет намного более богатый набор Файла, возможности IO, позволяя разработчикам удалить файлы, добавляют каталоги, и так далее, по сравнению с пакетом Oracle UTL_FILE.

80
задан Nenotlep 15 April 2014 в 11:31
поделиться

1 ответ

Ответ David кажется прекрасным и эффективным. Я нашел другое изменение решения, где можно использовать атрибут a_attr для дифференциации различных узлов и на основе которого можно генерировать другое контекстное меню.

В ниже примера, я использовал два типа Папки узлов и Файлов. Я использовал различные значки слишком использующий glyphicon. Для узла типа файла можно только заставить контекстное меню переименовывать и удалять. Для Папки, все опции там, создают файл, создают папку, переименовывают, удаляют.

Для полного фрагмента кода, можно просмотреть https://, Начальная буква everyething.com/Example-of-jsTree-with-different-context-menu-for-different-node-type

 $('#SimpleJSTree').jstree({
                "core": {
                    "check_callback": true,
                    'data': jsondata

                },
                "plugins": ["contextmenu"],
                "contextmenu": {
                    "items": function ($node) {
                        var tree = $("#SimpleJSTree").jstree(true);
                        if($node.a_attr.type === 'file')
                            return getFileContextMenu($node, tree);
                        else
                            return getFolderContextMenu($node, tree);                        
                    }
                }
            });

json данные была как ниже, где тип узла упоминается в a_attr.

var jsondata = [
                           { "id": "ajson1", "parent": "#", "text": "Simple root node", icon: 'glyphicon glyphicon-folder-open', "a_attr": {type:'folder'} },
                           { "id": "ajson2", "parent": "#", "text": "Root node 2", icon: 'glyphicon glyphicon-folder-open', "a_attr": {type:'folder'} },
                           { "id": "ajson3", "parent": "ajson2", "text": "Child 1", icon: 'glyphicon glyphicon-folder-open', "a_attr": {type:'folder'} },
                           { "id": "ajson4", "parent": "ajson2", "text": "Child 2", icon: 'glyphicon glyphicon-folder-open', "a_attr": {type:'folder'} },
            ];

, Поскольку часть contect пункта меню для создания файла и папки использует подобный код ниже как действие файла.

action: function (obj) {
                                $node = tree.create_node($node, { text: 'New File', icon: 'glyphicon glyphicon-file', a_attr:{type:'file'} });
                                tree.deselect_all();
                                tree.select_node($node);
                            }

как действие папки:

action: function (obj) {
                                $node = tree.create_node($node, { text: 'New Folder', icon:'glyphicon glyphicon-folder-open', a_attr:{type:'folder'} });
                                tree.deselect_all();
                                tree.select_node($node);
                            }
1
ответ дан 24 November 2019 в 09:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: