Jstree удалить элементы по умолчанию из контекстного меню
У меня проблема с контекстным меню JsTree, как я могу удалить элементы по умолчанию из контекстного меню, например Create, Delete, Rename? Я хочу предоставить собственные элементы, но элементы по умолчанию все еще находятся в контекстном меню.
"contextmenu" : {
"items" : {
"IsimVer" : {
"label" : "İsim Değiştir",
"action" : function (obj) { this.rename(obj); }
},
"Ekle" : {
"label" : "Ekle",
"action" : function (obj) { this.create(obj); }
},
"Sil" : {
"label" : "Sil",
"action" : function (obj) { this.remove(obj); }
}
}
Ответы
Ответ 1
У меня была эта проблема пару дней назад, но я еще не решил, является ли это ошибкой или функцией. Это может быть связано с порядком загрузки плагинов.
Что работало для меня, я возвращал элементы из функции:
"contextmenu" : {
"items" : function ($node) {
return {
"IsimVer" : {
"label" : "İsim Değiştir",
"action" : function (obj) { this.rename(obj); }
},
"Ekle" : {
"label" : "Ekle",
"action" : function (obj) { this.create(obj); }
},
"Sil" : {
"label" : "Sil",
"action" : function (obj) { this.remove(obj); }
}
};
}
}
После некоторого поиска кажется, что поведение по умолчанию для ваших элементов меню увеличивает значения по умолчанию, так что это функция. К сожалению, документации в настоящее время не хватает деталей по этому вопросу.
Ответ 2
Если вы хотите изменить ярлыки существующих элементов или удалить несколько, простое решение, подобное ниже, будет работать
"contextmenu": {
"items": function(node) {
var defaultItems = $.jstree.defaults.contextmenu.items();
defaultItems.create.label = "Ekle";
delete defaultItems.ccp;
return defaultItems;
}
}
Это установит метку "Создать" в качестве "Экле" и удалит вырезанную копию из элементов по умолчанию.
Ответ 3
Просто установите значение false в объекте items. Например, чтобы отключить меню редактирования (вырезать, скопировать, вставить), попробуйте следующее:
contextmenu : {
items : {
"ccp" : false
}
}
Ответ 4
Задайте ccp, создайте, переименуйте, удалите false следующим образом:
plugins : ["themes","json_data","ui","crrm", "hotkeys", "types", "contextmenu"],
contextmenu : {
items : {
"IsimVer" : {
"label" : "IsimVer",
"action" : function (obj) { alert("IsimVer"); }
},
"Ekle" : {
"label" : "Ekle",
"action" : function (obj) { alert("Ekle"); }
},
"Sil" : {
"label" : "Sil",
"action" : function (obj) { alert("tiga"); }
},
"ccp" : false,
"create" : false,
"rename" : false,
"remove" : false
}
}