从mxToolbar(jgraph / mxgraph)删除项目/项目

时间:2019-02-07 15:09:48

标签: javascript mxgraph jgraphx draw.io

我正在使用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');

现在我想做的是找到一种方法删除mxToolbar中添加的1个或多个模式。我尝试使用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 );
        });

但是必须有更好的东西...

0 个答案:

没有答案