{"version":3,"sources":["jsdelivr-header.js","/npm/jupyterlab-drawio@0.9.0/lib/index.js"],"names":[],"mappings":"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","file":"/npm/jupyterlab-drawio@0.9.0/lib/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/jupyterlab-drawio@0.9.0/lib/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","// Copyright 2018 Wolf Vollprecht\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n//     http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { ILayoutRestorer } from '@jupyterlab/application';\nimport { ICommandPalette, WidgetTracker } from '@jupyterlab/apputils';\nimport { IMainMenu, JupyterLabMenu } from '@jupyterlab/mainmenu';\nimport { IFileBrowserFactory } from '@jupyterlab/filebrowser';\nimport { ILauncher } from '@jupyterlab/launcher';\nimport { undoIcon, redoIcon } from '@jupyterlab/ui-components';\nimport { Token } from '@lumino/coreutils';\nimport { zoominIcon, zoomoutIcon, toFrontIcon, toBackIcon, fillColorIcon, strokeColorIcon, shadowIcon } from './icons';\nimport { DrawIOFactory } from './factory';\n/**\n * The name of the factory that creates editor widgets.\n */\nconst FACTORY = 'Drawio';\nexport const IDrawioTracker = new Token('drawio/tracki');\n/**\n * The editor tracker extension.\n */\nconst extension = {\n    id: '@jupyterlab/drawio-extension:plugin',\n    autoStart: true,\n    requires: [IFileBrowserFactory, ILayoutRestorer, IMainMenu, ICommandPalette],\n    optional: [ILauncher],\n    provides: IDrawioTracker,\n    activate\n};\nexport default extension;\nfunction activate(app, browserFactory, restorer, menu, palette, launcher) {\n    const { commands } = app;\n    const namespace = 'drawio';\n    const tracker = new WidgetTracker({ namespace });\n    // Handle state restoration.\n    restorer.restore(tracker, {\n        command: 'docmanager:open',\n        args: widget => ({ path: widget.context.path, factory: FACTORY }),\n        name: widget => widget.context.path\n    });\n    const factory = new DrawIOFactory({\n        name: FACTORY,\n        fileTypes: ['dio', 'drawio'],\n        defaultFor: ['dio', 'drawio'],\n        commands: app.commands\n    });\n    factory.widgetCreated.connect((sender, widget) => {\n        widget.title.icon = 'jp-MaterialIcon jp-ImageIcon'; // TODO change\n        // Notify the instance tracker if restore data needs to update.\n        widget.context.pathChanged.connect(() => {\n            tracker.save(widget);\n        });\n        tracker.add(widget);\n    });\n    app.docRegistry.addWidgetFactory(factory);\n    // register the filetype\n    app.docRegistry.addFileType({\n        name: 'drawio',\n        displayName: 'Diagram',\n        mimeTypes: ['application/dio', 'application/drawio'],\n        extensions: ['.dio', '.drawio'],\n        iconClass: 'jp-MaterialIcon jp-ImageIcon',\n        fileFormat: 'text',\n        contentType: 'file'\n    });\n    // Add a command for creating a new diagram file.\n    commands.addCommand('drawio:create-new', {\n        label: 'Diagram',\n        iconClass: 'jp-MaterialIcon jp-ImageIcon',\n        caption: 'Create a new diagram file',\n        execute: () => {\n            const cwd = browserFactory.defaultBrowser.model.path;\n            commands\n                .execute('docmanager:new-untitled', {\n                path: cwd,\n                type: 'file',\n                ext: '.dio'\n            })\n                .then(model => commands.execute('docmanager:open', {\n                path: model.path,\n                factory: FACTORY\n            }));\n        }\n    });\n    commands.addCommand('drawio:export-svg', {\n        label: 'Export diagram as SVG',\n        caption: 'Export diagram as SVG',\n        isEnabled: () => tracker.currentWidget !== null &&\n            tracker.currentWidget === app.shell.currentWidget,\n        execute: () => {\n            const cwd = browserFactory.defaultBrowser.model.path;\n            commands\n                .execute('docmanager:new-untitled', {\n                path: cwd,\n                type: 'file',\n                ext: '.svg'\n            })\n                .then(model => {\n                const wdg = app.shell.currentWidget;\n                model.content = wdg.getSVG();\n                model.format = 'text';\n                app.serviceManager.contents.save(model.path, model);\n            });\n        }\n    });\n    // Add a launcher item if the launcher is available.\n    if (launcher) {\n        launcher.add({\n            command: 'drawio:create-new',\n            rank: 1,\n            category: 'Other'\n        });\n    }\n    if (menu) {\n        addMenus(commands, menu, tracker);\n    }\n    addCommands(app, tracker);\n    if (palette) {\n        const args = { format: 'SVG', label: 'SVG', isPalette: true };\n        palette.addItem({\n            command: 'drawio:export-svg',\n            category: 'Notebook Operations',\n            args: args\n        });\n    }\n    return tracker;\n}\nfunction addMenus(commands, menu, tracker) {\n    const diagram = new JupyterLabMenu({ commands });\n    diagram.menu.title.label = 'Diagram';\n    // FILE MENU\n    // Add new text file creation to the file menu.\n    menu.fileMenu.newMenu.addGroup([{ command: 'drawio:create-new' }], 40);\n    const fileMenu = new JupyterLabMenu({ commands });\n    fileMenu.menu.title.label = 'File';\n    fileMenu.addGroup([{ command: 'drawio:create-new' }], 0);\n    fileMenu.addGroup([\n        { command: 'drawio:export-svg' },\n        { command: 'drawio:command/pageSetup' },\n        { command: 'drawio:command/print' }\n    ], 1);\n    // Edit MENU\n    menu.editMenu.undoers.add({\n        tracker,\n        undo: (widget) => widget.execute('undo'),\n        redo: (widget) => widget.execute('redo')\n    });\n    const editMenu = new JupyterLabMenu({ commands });\n    editMenu.menu.title.label = 'Edit';\n    editMenu.addGroup([{ command: 'drawio:command/undo' }, { command: 'drawio:command/redo' }], 0);\n    editMenu.addGroup([\n        { command: 'drawio:command/cut' },\n        { command: 'drawio:command/copy' },\n        { command: 'drawio:command/paste' },\n        { command: 'drawio:command/delete' }\n    ], 1);\n    editMenu.addGroup([{ command: 'drawio:command/duplicate' }], 2);\n    editMenu.addGroup([\n        { command: 'drawio:command/editData' },\n        { command: 'drawio:command/editTooltip' },\n        { command: 'drawio:command/editStyle' }\n    ], 3);\n    editMenu.addGroup([{ command: 'drawio:command/edit' }], 4);\n    editMenu.addGroup([\n        { command: 'drawio:command/editLink' },\n        { command: 'drawio:command/openLink' }\n    ], 5);\n    editMenu.addGroup([\n        { command: 'drawio:command/selectVertices' },\n        { command: 'drawio:command/selectEdges' },\n        { command: 'drawio:command/selectAll' },\n        { command: 'drawio:command/selectNone' }\n    ], 6);\n    editMenu.addGroup([{ command: 'drawio:command/lockUnlock' }], 7);\n    // View MENU\n    const viewMenu = new JupyterLabMenu({ commands });\n    viewMenu.menu.title.label = 'View';\n    viewMenu.addGroup([\n        { command: 'drawio:command/formatPanel' },\n        { command: 'drawio:command/outline' },\n        { command: 'drawio:command/layers' }\n    ], 0);\n    viewMenu.addGroup([\n        { command: 'drawio:command/pageView' },\n        { command: 'drawio:command/pageScale' }\n    ], 1);\n    viewMenu.addGroup([\n        { command: 'drawio:command/scrollbars' },\n        { command: 'drawio:command/tooltips' }\n    ], 2);\n    viewMenu.addGroup([{ command: 'drawio:command/grid' }, { command: 'drawio:command/guides' }], 3);\n    viewMenu.addGroup([\n        { command: 'drawio:command/connectionArrows' },\n        { command: 'drawio:command/connectionPoints' }\n    ], 4);\n    viewMenu.addGroup([\n        { command: 'drawio:command/resetView' },\n        { command: 'drawio:command/zoomIn' },\n        { command: 'drawio:command/zoomOut' }\n    ], 5);\n    // Arrange MENU\n    const arrangeMenu = new JupyterLabMenu({ commands });\n    arrangeMenu.menu.title.label = 'Arrange';\n    arrangeMenu.addGroup([\n        { command: 'drawio:command/toFront' },\n        { command: 'drawio:command/toBack' }\n    ], 0);\n    const direction = new JupyterLabMenu({ commands });\n    direction.menu.title.label = 'Direction';\n    direction.addGroup([{ command: 'drawio:command/flipH' }, { command: 'drawio:command/flipV' }], 0);\n    direction.addGroup([{ command: 'drawio:command/rotation' }], 1);\n    arrangeMenu.addGroup([\n        { type: 'submenu', submenu: direction.menu },\n        { command: 'drawio:command/turn' }\n    ], 1);\n    const align = new JupyterLabMenu({ commands });\n    align.menu.title.label = 'Diagram Align';\n    align.addGroup([\n        { command: 'drawio:command/alignCellsLeft' },\n        { command: 'drawio:command/alignCellsCenter' },\n        { command: 'drawio:command/alignCellsRight' }\n    ], 0);\n    align.addGroup([\n        { command: 'drawio:command/alignCellsTop' },\n        { command: 'drawio:command/alignCellsMiddle' },\n        { command: 'drawio:command/alignCellsBottom' }\n    ], 1);\n    const distribute = new JupyterLabMenu({ commands });\n    distribute.menu.title.label = 'Distribute';\n    distribute.addGroup([\n        { command: 'drawio:command/horizontal' },\n        { command: 'drawio:command/vertical' }\n    ], 0);\n    arrangeMenu.addGroup([\n        { type: 'submenu', submenu: align.menu },\n        { type: 'submenu', submenu: distribute.menu }\n    ], 2);\n    const navigation = new JupyterLabMenu({ commands });\n    navigation.menu.title.label = 'Navigation';\n    navigation.addGroup([{ command: 'drawio:command/home' }], 0);\n    navigation.addGroup([\n        { command: 'drawio:command/exitGroup' },\n        { command: 'drawio:command/enterGroup' }\n    ], 1);\n    navigation.addGroup([\n        { command: 'drawio:command/expand' },\n        { command: 'drawio:command/collapse' }\n    ], 2);\n    navigation.addGroup([{ command: 'drawio:command/collapsible' }], 3);\n    const insert = new JupyterLabMenu({ commands });\n    insert.menu.title.label = 'Insert';\n    insert.addGroup([\n        { command: 'drawio:command/insertLink' },\n        { command: 'drawio:command/insertImage' }\n    ], 0);\n    const layout = new JupyterLabMenu({ commands });\n    layout.menu.title.label = 'Layout';\n    layout.addGroup([\n        { command: 'drawio:command/horizontalFlow' },\n        { command: 'drawio:command/verticalFlow' }\n    ], 0);\n    layout.addGroup([\n        { command: 'drawio:command/horizontalTree' },\n        { command: 'drawio:command/verticalTree' },\n        { command: 'drawio:command/radialTree' }\n    ], 1);\n    layout.addGroup([\n        { command: 'drawio:command/organic' },\n        { command: 'drawio:command/circle' }\n    ], 2);\n    arrangeMenu.addGroup([\n        { type: 'submenu', submenu: navigation.menu },\n        { type: 'submenu', submenu: insert.menu },\n        { type: 'submenu', submenu: layout.menu }\n    ], 3);\n    arrangeMenu.addGroup([\n        { command: 'drawio:command/group' },\n        { command: 'drawio:command/ungroup' },\n        { command: 'drawio:command/removeFromGroup' }\n    ], 4);\n    arrangeMenu.addGroup([\n        { command: 'drawio:command/clearWaypoints' },\n        { command: 'drawio:command/autosize' }\n    ], 5);\n    // Extras MENU\n    const extrasMenu = new JupyterLabMenu({ commands });\n    extrasMenu.menu.title.label = 'Extras';\n    extrasMenu.addGroup([\n        { command: 'drawio:command/copyConnect' },\n        { command: 'drawio:command/collapseExpand' }\n    ], 0);\n    extrasMenu.addGroup([{ command: 'drawio:command/editDiagram' }], 1);\n    diagram.addGroup([\n        { type: 'submenu', submenu: fileMenu.menu },\n        { type: 'submenu', submenu: editMenu.menu },\n        { type: 'submenu', submenu: viewMenu.menu },\n        { type: 'submenu', submenu: arrangeMenu.menu },\n        { type: 'submenu', submenu: extrasMenu.menu },\n        { command: 'drawio:command/about' }\n    ], 0);\n    menu.addMenu(diagram.menu, { rank: 60 });\n}\nfunction addCommands(app, tracker) {\n    // FILE MENU\n    //Not Working: new, open, save, save as, import, export\n    //Working: pageSetup, print\n    const fileCommands = [\n        { name: 'pageSetup', label: 'Page Setup...' },\n        { name: 'print', label: 'Print...' } //Ctrl+P\n    ];\n    fileCommands.forEach(action => {\n        app.commands.addCommand('drawio:command/' + action.name, {\n            label: action.label,\n            caption: action.label,\n            isEnabled: () => {\n                if (tracker.currentWidget !== null &&\n                    tracker.currentWidget === app.shell.currentWidget) {\n                    const wdg = app.shell.currentWidget;\n                    return wdg.getAction(action.name).enabled;\n                }\n                else {\n                    return false;\n                }\n            },\n            execute: () => {\n                if (tracker.currentWidget !== null &&\n                    tracker.currentWidget === app.shell.currentWidget) {\n                    const wdg = app.shell.currentWidget;\n                    wdg.getAction(action.name).funct();\n                }\n            }\n        });\n    });\n    // Edit MENU\n    //Not Working:\n    //Working:\n    //  undo, redo,\n    //  cut, copy, paste, delete\n    //  Duplicate\n    //  Edit data, edit tooltip, Edit style\n    //  Edit\n    //  Edit link, open link\n    //  Select vertices, select edges, select all, select none\n    //  lock/unlock\n    const editCommands = [\n        //{ name: 'undo', label: 'Undo' }, //Ctrl+Z\n        //{ name: 'redo', label: 'Redo' }, //Ctrl+Shift+Z\n        { name: 'cut', label: 'Cut' },\n        { name: 'copy', label: 'Copy' },\n        { name: 'paste', label: 'Paste' },\n        { name: 'delete', label: 'Delete' },\n        { name: 'duplicate', label: 'Duplicate' },\n        { name: 'editData', label: 'Edit Data...' },\n        { name: 'editTooltip', label: 'Edit Tooltip...' },\n        { name: 'editStyle', label: 'Edit Style...' },\n        { name: 'edit', label: 'Edit' },\n        { name: 'editLink', label: 'Edit Link...' },\n        { name: 'openLink', label: 'Open Link' },\n        { name: 'selectVertices', label: 'Select Vertices' },\n        { name: 'selectEdges', label: 'Select Edges' },\n        { name: 'selectAll', label: 'Select all' },\n        { name: 'selectNone', label: 'Select None' },\n        { name: 'lockUnlock', label: 'Lock/Unlock' } //Ctrl+L\n    ];\n    editCommands.forEach(action => {\n        app.commands.addCommand('drawio:command/' + action.name, {\n            label: action.label,\n            caption: action.label,\n            isEnabled: () => {\n                if (tracker.currentWidget !== null &&\n                    tracker.currentWidget === app.shell.currentWidget) {\n                    const wdg = app.shell.currentWidget;\n                    return wdg.getAction(action.name).enabled;\n                }\n                else {\n                    return false;\n                }\n            },\n            execute: () => {\n                if (tracker.currentWidget !== null &&\n                    tracker.currentWidget === app.shell.currentWidget) {\n                    const wdg = app.shell.currentWidget;\n                    wdg.getAction(action.name).funct();\n                }\n            }\n        });\n    });\n    app.commands.addCommand('drawio:command/undo', {\n        label: 'Undo',\n        caption: 'Undo (Ctrl+Z)',\n        icon: undoIcon,\n        isEnabled: () => {\n            if (tracker.currentWidget !== null &&\n                tracker.currentWidget === app.shell.currentWidget) {\n                const wdg = app.shell.currentWidget;\n                return wdg.getAction('undo').enabled;\n            }\n            else {\n                return false;\n            }\n        },\n        execute: () => {\n            if (tracker.currentWidget !== null &&\n                tracker.currentWidget === app.shell.currentWidget) {\n                const wdg = app.shell.currentWidget;\n                wdg.getAction('undo').funct();\n            }\n        }\n    });\n    app.commands.addCommand('drawio:command/redo', {\n        label: 'Redo',\n        caption: 'Redo (Ctrl+Shift+Z)',\n        icon: redoIcon,\n        isEnabled: () => {\n            if (tracker.currentWidget !== null &&\n                tracker.currentWidget === app.shell.currentWidget) {\n                const wdg = app.shell.currentWidget;\n                return wdg.getAction('redo').enabled;\n            }\n            else {\n                return false;\n            }\n        },\n        execute: () => {\n            if (tracker.currentWidget !== null &&\n                tracker.currentWidget === app.shell.currentWidget) {\n                const wdg = app.shell.currentWidget;\n                wdg.getAction('redo').funct();\n            }\n        }\n    });\n    // View MENU\n    //Not Working:\n    //Working:\n    //  formatPanel, outline, layers\n    //  pageView, pageScale\n    //  scrollbars, tooltips\n    //  grid, guides\n    //  connectionArrows, connectionPoints\n    //  resetView, zoomIn, zoomOut\n    const viewCommands = [\n        { name: 'formatPanel', label: 'Format Panel' },\n        { name: 'outline', label: 'Outline' },\n        { name: 'layers', label: 'Layers' },\n        { name: 'pageView', label: 'Page View' },\n        { name: 'pageScale', label: 'Page Scale...' },\n        { name: 'scrollbars', label: 'Scrollbars' },\n        { name: 'tooltips', label: 'Tooltips' },\n        { name: 'grid', label: 'Grid' },\n        { name: 'guides', label: 'Guides' },\n        { name: 'connectionArrows', label: 'Connection Arrows' },\n        { name: 'connectionPoints', label: 'Connection Points' },\n        { name: 'resetView', label: 'Reset View' } //Ctrl+H\n        //{ name: 'zoomIn', label: 'Zoom In' }, //Ctrl+(Numpad)/Alt+Mousewheel\n        //{ name: 'zoomOut', label: 'Zoom Out' } //Ctrl-(Numpad)/Alt+Mousewheel\n    ];\n    viewCommands.forEach(action => {\n        app.commands.addCommand('drawio:command/' + action.name, {\n            label: action.label,\n            caption: action.label,\n            isToggleable: true,\n            isToggled: () => {\n                if (tracker.currentWidget !== null &&\n                    tracker.currentWidget === app.shell.currentWidget) {\n                    const wdg = app.shell.currentWidget;\n                    const act = wdg.getAction(action.name);\n                    return act.toggleAction ? act.isSelected() : false;\n                }\n                else {\n                    return false;\n                }\n            },\n            isEnabled: () => {\n                if (tracker.currentWidget !== null &&\n                    tracker.currentWidget === app.shell.currentWidget) {\n                    const wdg = app.shell.currentWidget;\n                    return wdg.getAction(action.name).enabled;\n                }\n                else {\n                    return false;\n                }\n            },\n            execute: () => {\n                if (tracker.currentWidget !== null &&\n                    tracker.currentWidget === app.shell.currentWidget) {\n                    const wdg = app.shell.currentWidget;\n                    wdg.getAction(action.name).funct();\n                }\n            }\n        });\n    });\n    app.commands.addCommand('drawio:command/zoomIn', {\n        label: 'Zoom In',\n        caption: 'Zoom In (Ctrl+(Numpad)/Alt+Mousewheel)',\n        icon: zoominIcon,\n        isEnabled: () => {\n            if (tracker.currentWidget !== null &&\n                tracker.currentWidget === app.shell.currentWidget) {\n                const wdg = app.shell.currentWidget;\n                return wdg.getAction('zoomIn').enabled;\n            }\n            else {\n                return false;\n            }\n        },\n        execute: () => {\n            if (tracker.currentWidget !== null &&\n                tracker.currentWidget === app.shell.currentWidget) {\n                const wdg = app.shell.currentWidget;\n                wdg.getAction('zoomIn').funct();\n            }\n        }\n    });\n    app.commands.addCommand('drawio:command/zoomOut', {\n        label: 'Zoom Out',\n        caption: 'Zoom Out (Ctrl-(Numpad)/Alt+Mousewheel)',\n        icon: zoomoutIcon,\n        isEnabled: () => {\n            if (tracker.currentWidget !== null &&\n                tracker.currentWidget === app.shell.currentWidget) {\n                const wdg = app.shell.currentWidget;\n                return wdg.getAction('zoomOut').enabled;\n            }\n            else {\n                return false;\n            }\n        },\n        execute: () => {\n            if (tracker.currentWidget !== null &&\n                tracker.currentWidget === app.shell.currentWidget) {\n                const wdg = app.shell.currentWidget;\n                wdg.getAction('zoomOut').funct();\n            }\n        }\n    });\n    // Arrange MENU\n    //Not Working:\n    //Working:\n    //  toFront, toBack\n    //  Direction->(flipH, flipV, rotation), turn\n    //  Align->(alignCellsRight, alignCellsCenter, alignCellsRight\n    //          alignCellsTop, alignCellsMiddle, alignCellsBottom),\n    //    Distribute->(horizontal, vertical)\n    //  Navigation->(home,\n    //               exitGroup, enterGroup\n    //               expand, collapse\n    //               collapsible),\n    //    Insert->(insertLink, insertImage)\n    //    Layout->(horizontalFlow, verticalFlow\n    //             horizontalTree, verticalTree, radialTree\n    //              organic, circle)\n    //  group, ungroup, removeFromGroup\n    //  clearWaypoints, autosize\n    const arrangeCommands = [\n        //{ name: 'toFront', label: 'To Front' }, //Ctrl+Shift+F\n        //{ name: 'toBack', label: 'To Back' }, //Ctrl+Shift+B\n        { name: 'rotation', label: 'Rotation' },\n        { name: 'turn', label: 'Rotate 90⁰/Reverse' },\n        { name: 'home', label: 'Home' },\n        { name: 'exitGroup', label: 'Exit Group' },\n        { name: 'enterGroup', label: 'Enter Group' },\n        { name: 'expand', label: 'Expand' },\n        { name: 'collapse', label: 'Collapse' },\n        { name: 'collapsible', label: 'Collapsible' },\n        { name: 'insertLink', label: 'Insert Link...' },\n        { name: 'insertImage', label: 'Insert Image...' },\n        { name: 'group', label: 'Group' },\n        { name: 'ungroup', label: 'Ungroup' },\n        { name: 'removeFromGroup', label: 'Remove from Group' },\n        { name: 'clearWaypoints', label: 'Clear Waypoints' },\n        { name: 'autosize', label: 'Autosize' } //Ctrl+Shift+Y\n    ];\n    arrangeCommands.forEach(action => {\n        app.commands.addCommand('drawio:command/' + action.name, {\n            label: action.label,\n            caption: action.label,\n            isEnabled: () => {\n                if (tracker.currentWidget !== null &&\n                    tracker.currentWidget === app.shell.currentWidget) {\n                    const wdg = app.shell.currentWidget;\n                    return wdg.getAction(action.name).enabled;\n                }\n                else {\n                    return false;\n                }\n            },\n            execute: () => {\n                if (tracker.currentWidget !== null &&\n                    tracker.currentWidget === app.shell.currentWidget) {\n                    const wdg = app.shell.currentWidget;\n                    wdg.getAction(action.name).funct();\n                }\n            }\n        });\n    });\n    app.commands.addCommand('drawio:command/toFront', {\n        label: 'To Front',\n        caption: 'To Front (Ctrl+Shift+F)',\n        icon: toFrontIcon,\n        isEnabled: () => {\n            if (tracker.currentWidget !== null &&\n                tracker.currentWidget === app.shell.currentWidget) {\n                const wdg = app.shell.currentWidget;\n                return wdg.getAction('toFront').enabled;\n            }\n            else {\n                return false;\n            }\n        },\n        execute: () => {\n            if (tracker.currentWidget !== null &&\n                tracker.currentWidget === app.shell.currentWidget) {\n                const wdg = app.shell.currentWidget;\n                wdg.getAction('toFront').funct();\n            }\n        }\n    });\n    app.commands.addCommand('drawio:command/toBack', {\n        label: 'To Back',\n        caption: 'To Back (Ctrl+Shift+B)',\n        icon: toBackIcon,\n        isEnabled: () => {\n            if (tracker.currentWidget !== null &&\n                tracker.currentWidget === app.shell.currentWidget) {\n                const wdg = app.shell.currentWidget;\n                return wdg.getAction('toBack').enabled;\n            }\n            else {\n                return false;\n            }\n        },\n        execute: () => {\n            if (tracker.currentWidget !== null &&\n                tracker.currentWidget === app.shell.currentWidget) {\n                const wdg = app.shell.currentWidget;\n                wdg.getAction('toBack').funct();\n            }\n        }\n    });\n    //Direction\n    app.commands.addCommand('drawio:command/flipH', {\n        label: 'Flip Horizintal',\n        caption: 'Flip Horizintal',\n        isEnabled: () => tracker.currentWidget !== null &&\n            tracker.currentWidget === app.shell.currentWidget,\n        execute: () => {\n            if (tracker.currentWidget !== null &&\n                tracker.currentWidget === app.shell.currentWidget) {\n                const wdg = app.shell.currentWidget;\n                wdg.toggleCellStyles('flipH');\n            }\n        }\n    });\n    app.commands.addCommand('drawio:command/flipV', {\n        label: 'Flip Vertical',\n        caption: 'Flip Vertical',\n        isEnabled: () => tracker.currentWidget !== null &&\n            tracker.currentWidget === app.shell.currentWidget,\n        execute: () => {\n            if (tracker.currentWidget !== null &&\n                tracker.currentWidget === app.shell.currentWidget) {\n                const wdg = app.shell.currentWidget;\n                wdg.toggleCellStyles('flipV');\n            }\n        }\n    });\n    //Align\n    app.commands.addCommand('drawio:command/alignCellsLeft', {\n        label: 'Left Align',\n        caption: 'Left Align',\n        isEnabled: () => tracker.currentWidget !== null &&\n            tracker.currentWidget === app.shell.currentWidget,\n        execute: () => {\n            if (tracker.currentWidget !== null &&\n                tracker.currentWidget === app.shell.currentWidget) {\n                const wdg = app.shell.currentWidget;\n                wdg.alignCells('alignCellsLeft');\n            }\n        }\n    });\n    app.commands.addCommand('drawio:command/alignCellsCenter', {\n        label: 'Center',\n        caption: 'Center',\n        isEnabled: () => tracker.currentWidget !== null &&\n            tracker.currentWidget === app.shell.currentWidget,\n        execute: () => {\n            if (tracker.currentWidget !== null &&\n                tracker.currentWidget === app.shell.currentWidget) {\n                const wdg = app.shell.currentWidget;\n                wdg.alignCells('alignCellsCenter');\n            }\n        }\n    });\n    app.commands.addCommand('drawio:command/alignCellsRight', {\n        label: 'Right Align',\n        caption: 'Right Align',\n        isEnabled: () => tracker.currentWidget !== null &&\n            tracker.currentWidget === app.shell.currentWidget,\n        execute: () => {\n            if (tracker.currentWidget !== null &&\n                tracker.currentWidget === app.shell.currentWidget) {\n                const wdg = app.shell.currentWidget;\n                wdg.alignCells('alignCellsRight');\n            }\n        }\n    });\n    app.commands.addCommand('drawio:command/alignCellsTop', {\n        label: 'Top Align',\n        caption: 'Top Align',\n        isEnabled: () => tracker.currentWidget !== null &&\n            tracker.currentWidget === app.shell.currentWidget,\n        execute: () => {\n            if (tracker.currentWidget !== null &&\n                tracker.currentWidget === app.shell.currentWidget) {\n                const wdg = app.shell.currentWidget;\n                wdg.alignCells('alignCellsTop');\n            }\n        }\n    });\n    app.commands.addCommand('drawio:command/alignCellsMiddle', {\n        label: 'Middle',\n        caption: 'Middle',\n        isEnabled: () => tracker.currentWidget !== null &&\n            tracker.currentWidget === app.shell.currentWidget,\n        execute: () => {\n            if (tracker.currentWidget !== null &&\n                tracker.currentWidget === app.shell.currentWidget) {\n                const wdg = app.shell.currentWidget;\n                wdg.alignCells('alignCellsMiddle');\n            }\n        }\n    });\n    app.commands.addCommand('drawio:command/alignCellsBottom', {\n        label: 'Bottom Align',\n        caption: 'Bottom Align',\n        isEnabled: () => tracker.currentWidget !== null &&\n            tracker.currentWidget === app.shell.currentWidget,\n        execute: () => {\n            if (tracker.currentWidget !== null &&\n                tracker.currentWidget === app.shell.currentWidget) {\n                const wdg = app.shell.currentWidget;\n                wdg.alignCells('alignCellsBottom');\n            }\n        }\n    });\n    //Distribute\n    app.commands.addCommand('drawio:command/horizontal', {\n        label: 'Horizontal',\n        caption: 'Horizontal',\n        isEnabled: () => tracker.currentWidget !== null &&\n            tracker.currentWidget === app.shell.currentWidget,\n        execute: () => {\n            if (tracker.currentWidget !== null &&\n                tracker.currentWidget === app.shell.currentWidget) {\n                const wdg = app.shell.currentWidget;\n                wdg.distributeCells(true);\n            }\n        }\n    });\n    app.commands.addCommand('drawio:command/vertical', {\n        label: 'Vertical',\n        caption: 'Vertical',\n        isEnabled: () => tracker.currentWidget !== null &&\n            tracker.currentWidget === app.shell.currentWidget,\n        execute: () => {\n            if (tracker.currentWidget !== null &&\n                tracker.currentWidget === app.shell.currentWidget) {\n                const wdg = app.shell.currentWidget;\n                wdg.distributeCells(false);\n            }\n        }\n    });\n    //Layout\n    app.commands.addCommand('drawio:command/horizontalFlow', {\n        label: 'Horizontal Flow',\n        caption: 'Horizontal Flow',\n        isEnabled: () => tracker.currentWidget !== null &&\n            tracker.currentWidget === app.shell.currentWidget,\n        execute: () => {\n            if (tracker.currentWidget !== null &&\n                tracker.currentWidget === app.shell.currentWidget) {\n                const wdg = app.shell.currentWidget;\n                wdg.layoutFlow('horizontalFlow');\n            }\n        }\n    });\n    app.commands.addCommand('drawio:command/verticalFlow', {\n        label: 'Vertical Flow',\n        caption: 'Vertical Flow',\n        isEnabled: () => tracker.currentWidget !== null &&\n            tracker.currentWidget === app.shell.currentWidget,\n        execute: () => {\n            if (tracker.currentWidget !== null &&\n                tracker.currentWidget === app.shell.currentWidget) {\n                const wdg = app.shell.currentWidget;\n                wdg.layoutFlow('verticalFlow');\n            }\n        }\n    });\n    app.commands.addCommand('drawio:command/horizontalTree', {\n        label: 'Horizontal Tree',\n        caption: 'Horizontal Tree',\n        isEnabled: () => tracker.currentWidget !== null &&\n            tracker.currentWidget === app.shell.currentWidget,\n        execute: () => {\n            if (tracker.currentWidget !== null &&\n                tracker.currentWidget === app.shell.currentWidget) {\n                const wdg = app.shell.currentWidget;\n                wdg.horizontalTree();\n            }\n        }\n    });\n    app.commands.addCommand('drawio:command/verticalTree', {\n        label: 'Vertical Tree',\n        caption: 'Vertical Tree',\n        isEnabled: () => tracker.currentWidget !== null &&\n            tracker.currentWidget === app.shell.currentWidget,\n        execute: () => {\n            if (tracker.currentWidget !== null &&\n                tracker.currentWidget === app.shell.currentWidget) {\n                const wdg = app.shell.currentWidget;\n                wdg.verticalTree();\n            }\n        }\n    });\n    app.commands.addCommand('drawio:command/radialTree', {\n        label: 'Radial Tree',\n        caption: 'Radial Tree',\n        isEnabled: () => tracker.currentWidget !== null &&\n            tracker.currentWidget === app.shell.currentWidget,\n        execute: () => {\n            if (tracker.currentWidget !== null &&\n                tracker.currentWidget === app.shell.currentWidget) {\n                const wdg = app.shell.currentWidget;\n                wdg.radialTree();\n            }\n        }\n    });\n    app.commands.addCommand('drawio:command/organic', {\n        label: 'Organic',\n        caption: 'Organic',\n        isEnabled: () => tracker.currentWidget !== null &&\n            tracker.currentWidget === app.shell.currentWidget,\n        execute: () => {\n            if (tracker.currentWidget !== null &&\n                tracker.currentWidget === app.shell.currentWidget) {\n                const wdg = app.shell.currentWidget;\n                wdg.organic();\n            }\n        }\n    });\n    app.commands.addCommand('drawio:command/circle', {\n        label: 'Circle',\n        caption: 'Circle',\n        isEnabled: () => tracker.currentWidget !== null &&\n            tracker.currentWidget === app.shell.currentWidget,\n        execute: () => {\n            if (tracker.currentWidget !== null &&\n                tracker.currentWidget === app.shell.currentWidget) {\n                const wdg = app.shell.currentWidget;\n                wdg.circle();\n            }\n        }\n    });\n    // Extras MENU\n    //Not Working:\n    //Working:\n    //  copyConnect, collapseExpand\n    //  editDiagram\n    const extrasCommands = [\n        { name: 'copyConnect', label: 'Copy on Connect' },\n        { name: 'collapseExpand', label: 'Collapse/Expand' },\n        { name: 'editDiagram', label: 'Edit Diagram...' }\n    ];\n    extrasCommands.forEach(action => {\n        app.commands.addCommand('drawio:command/' + action.name, {\n            label: action.label,\n            caption: action.label,\n            isEnabled: () => {\n                if (tracker.currentWidget !== null &&\n                    tracker.currentWidget === app.shell.currentWidget) {\n                    const wdg = app.shell.currentWidget;\n                    return wdg.getAction(action.name).enabled;\n                }\n                else {\n                    return false;\n                }\n            },\n            execute: () => {\n                if (tracker.currentWidget !== null &&\n                    tracker.currentWidget === app.shell.currentWidget) {\n                    const wdg = app.shell.currentWidget;\n                    wdg.getAction(action.name).funct();\n                }\n            }\n        });\n    });\n    // Help MENU\n    //Not Working: help\n    //Working:\n    //  about\n    const helpCommands = [{ name: 'about', label: 'About GraphEditor' }];\n    helpCommands.forEach(action => {\n        app.commands.addCommand('drawio:command/' + action.name, {\n            label: action.label,\n            caption: action.label,\n            isEnabled: () => {\n                if (tracker.currentWidget !== null &&\n                    tracker.currentWidget === app.shell.currentWidget) {\n                    const wdg = app.shell.currentWidget;\n                    return wdg.getAction(action.name).enabled;\n                }\n                else {\n                    return false;\n                }\n            },\n            execute: () => {\n                if (tracker.currentWidget !== null &&\n                    tracker.currentWidget === app.shell.currentWidget) {\n                    const wdg = app.shell.currentWidget;\n                    wdg.getAction(action.name).funct();\n                }\n            }\n        });\n    });\n    /**************************************************************************************\n     *                                     Toolbar                                        *\n     **************************************************************************************/\n    //Working: fitWindow, fitPageWidth, fitPage, fitTwoPages, customZoom\n    const toolbarCommands = [\n        { name: 'fitWindow', label: 'Fit Window' },\n        { name: 'fitPageWidth', label: 'Page Width' },\n        { name: 'fitPage', label: 'One Page' },\n        { name: 'fitTwoPages', label: 'Two Pages' },\n        { name: 'customZoom', label: 'Custom...' } //Ctrl+O\n    ];\n    toolbarCommands.forEach(action => {\n        app.commands.addCommand('drawio:command/' + action.name, {\n            label: action.label,\n            caption: action.label,\n            isEnabled: () => {\n                if (tracker.currentWidget !== null &&\n                    tracker.currentWidget === app.shell.currentWidget) {\n                    const wdg = app.shell.currentWidget;\n                    return wdg.getAction(action.name).enabled;\n                }\n                else {\n                    return false;\n                }\n            },\n            execute: () => {\n                if (tracker.currentWidget !== null &&\n                    tracker.currentWidget === app.shell.currentWidget) {\n                    const wdg = app.shell.currentWidget;\n                    wdg.getAction(action.name).funct();\n                }\n            }\n        });\n    });\n    app.commands.addCommand('drawio:command/fillColor', {\n        label: 'Fill Color',\n        caption: 'Fill Color',\n        icon: fillColorIcon,\n        isEnabled: () => {\n            if (tracker.currentWidget !== null &&\n                tracker.currentWidget === app.shell.currentWidget) {\n                const wdg = app.shell.currentWidget;\n                console.debug('fill Color:', wdg.getAction('fillColor').enabled);\n                return wdg.getAction('fillColor').enabled;\n            }\n            else {\n                return false;\n            }\n        },\n        execute: () => {\n            if (tracker.currentWidget !== null &&\n                tracker.currentWidget === app.shell.currentWidget) {\n                const wdg = app.shell.currentWidget;\n                wdg.getAction('fillColor').funct();\n            }\n        }\n    });\n    app.commands.addCommand('drawio:command/strokeColor', {\n        label: 'Fill Stroke Color',\n        caption: 'Fill Stroke Color',\n        icon: strokeColorIcon,\n        isEnabled: () => {\n            if (tracker.currentWidget !== null &&\n                tracker.currentWidget === app.shell.currentWidget) {\n                const wdg = app.shell.currentWidget;\n                return wdg.getAction('strokeColor').enabled;\n            }\n            else {\n                return false;\n            }\n        },\n        execute: () => {\n            if (tracker.currentWidget !== null &&\n                tracker.currentWidget === app.shell.currentWidget) {\n                const wdg = app.shell.currentWidget;\n                wdg.getAction('strokeColor').funct();\n            }\n        }\n    });\n    app.commands.addCommand('drawio:command/shadow', {\n        label: 'Shadow',\n        caption: 'Shadow',\n        icon: shadowIcon,\n        isEnabled: () => {\n            if (tracker.currentWidget !== null &&\n                tracker.currentWidget === app.shell.currentWidget) {\n                const wdg = app.shell.currentWidget;\n                return wdg.getAction('shadow').enabled;\n            }\n            else {\n                return false;\n            }\n        },\n        execute: () => {\n            if (tracker.currentWidget !== null &&\n                tracker.currentWidget === app.shell.currentWidget) {\n                const wdg = app.shell.currentWidget;\n                wdg.getAction('shadow').funct();\n            }\n        }\n    });\n    /**************************************************************************************\n     *                                     Other                                          *\n     **************************************************************************************/\n    const otherCommands = [\n        { name: 'addWaypoint', label: 'Add Waypoint' },\n        { name: 'autosave', label: 'Autosave' },\n        { name: 'backgroundColor', label: 'Background Color' },\n        { name: 'bold', label: 'Bold' },\n        { name: 'borderColor', label: 'Border Color' },\n        { name: 'clearDefaultStyle', label: 'Clear Default Style' },\n        { name: 'curved', label: 'Curved' },\n        { name: 'dashed', label: 'Dashed' },\n        { name: 'deleteAll', label: 'Delete All' },\n        { name: 'dotted', label: 'Dotted' },\n        { name: 'fontColor', label: 'Font Color' },\n        { name: 'formattedText', label: 'Formatted Text' },\n        { name: 'gradientColor', label: 'Gradient Color' },\n        { name: 'image', label: 'Image' },\n        { name: 'italic', label: 'Italic' },\n        { name: 'link', label: 'Link' },\n        { name: 'pasteHere', label: 'Paste Here' },\n        { name: 'preview', label: 'Preview' },\n        { name: 'removeWaypoint', label: 'Remove Waypoint' },\n        { name: 'rounded', label: 'Rounded' },\n        { name: 'setAsDefaultStyle', label: 'Set As Default Style' },\n        { name: 'sharp', label: 'Sharp' },\n        { name: 'solid', label: 'Solid' },\n        { name: 'subscript', label: 'Subscript' },\n        { name: 'superscript', label: 'Superscript' },\n        { name: 'toggleRounded', label: 'Toggle Rounded' },\n        { name: 'underline', label: 'Underline' },\n        { name: 'wordWrap', label: 'Word Wrap' }\n    ];\n    otherCommands.forEach(action => {\n        app.commands.addCommand('drawio:command/' + action.name, {\n            label: action.label,\n            caption: action.label,\n            isEnabled: () => {\n                if (tracker.currentWidget !== null &&\n                    tracker.currentWidget === app.shell.currentWidget) {\n                    const wdg = app.shell.currentWidget;\n                    return wdg.getAction(action.name).enabled;\n                }\n                else {\n                    return false;\n                }\n            },\n            execute: () => {\n                if (tracker.currentWidget !== null &&\n                    tracker.currentWidget === app.shell.currentWidget) {\n                    const wdg = app.shell.currentWidget;\n                    wdg.getAction(action.name).funct();\n                }\n            }\n        });\n    });\n}\n"]}