Я использую библиотеку mxgraph для создания собственного редактора.В моем редакторе у меня есть объект mxToolbar
, в который я добавляю новые элементы каждый раз, когда создаю новый элемент на холсте.
Код mxToolbar
var tbContainer = document.createElement('div');
tbContainer.style.position = 'absolute';
//style etc.
document.body.appendChild(tbContainer);
//create the toolbar
var toolbar = new mxToolbar(tbContainer);
Я могу легко добавить значки к объекту mxToolbar со следующим кодом:
toolbar.addMode('the title name of the icon', 'editors/images/rectangle.gif');
Теперь я хочу найти способ удалить 1 или несколько режимов, добавленных в mxToolbar .Я пытался использовать метод mxToolbar.destroy()
, но, похоже, не работает.Есть ли простой способ использования функций библиотеки для достижения вышеупомянутого сценария?Заранее спасибо:)
РЕДАКТИРОВАТЬ
До сих пор я реализовал «грязное» решение для случая, когда я хочу очистить каждый режим в mxToolbar, сначала я воссоздаюпанель инструментов, а затем я удаляю все предыдущие изображения, которые были созданы из предыдущего
toolbar = new mxToolbar(tbContainer);
toolbar.enabled = false
var mxToolbarModes = document.querySelectorAll('.mxToolbarMode');
Array.prototype.forEach.call( mxToolbarModes, function( node ) {
node.parentNode.removeChild( node );
});
, но должно быть что-то лучше ...