drawio-offline
Version:
diagrams.net desktop
41 lines (34 loc) • 1.04 kB
JavaScript
/**
* WebCola layout plugin.
*/
Draw.loadPlugin(function(ui)
{
mxscript("plugins/webcola/cola.min.js", null, null, null, true);
mxscript("plugins/webcola/mxWebColaAdaptor.js", null, null, null, true);
mxscript("plugins/webcola/mxWebColaLayout.js", null, null, null, true);
// Adds resource for action
mxResources.parse('webColaLayout=WebCola Layout...');
// Adds action
ui.actions.addAction('webColaLayout', function()
{
// TODO: set mxWebColaAdaptor's doAnimations to the value of editorUi.allowAnimation
// TODO: don't record all animation steps as undo states
var graph = ui.editor.graph;
var layout = new mxWebColaLayout(graph);
var parent = graph.getDefaultParent();
layout.execute(parent);
});
var menu = ui.menus.get('layout');
if (menu != null)
{
var oldFunct = menu.funct;
menu.funct = function(menu, parent)
{
oldFunct.apply(this, arguments);
if (typeof window.mxWebColaLayout === 'function')
{
ui.menus.addMenuItems(menu, ['-', 'webColaLayout'], parent);
}
};
}
});