{"version":3,"sources":["webpack:///./node_modules/devextreme/ui/diagram/ui.diagram.panel.js","webpack:///./node_modules/devextreme/ui/diagram/ui.diagram.menu_helper.js","webpack:///./node_modules/devextreme/ui/diagram/ui.diagram.floating_panel.js","webpack:///./node_modules/devextreme/ui/diagram/diagram.items_option.js","webpack:///./node_modules/devextreme/ui/drawer.js","webpack:///./node_modules/devextreme/ui/diagram.js","webpack:///./node_modules/devextreme/ui/diagram/ui.diagram.js","webpack:///./node_modules/devextreme/ui/diagram/ui.diagram.main_toolbar.js","webpack:///./node_modules/devextreme/ui/diagram/ui.diagram.history_toolbar.js","webpack:///./node_modules/devextreme/ui/diagram/ui.diagram.view_toolbar.js","webpack:///./node_modules/devextreme/ui/diagram/ui.diagram.properties_toolbar.js","webpack:///./node_modules/devextreme/ui/diagram/ui.diagram.context_menu.js","webpack:///./node_modules/devextreme/ui/diagram/ui.diagram.context_toolbox.js","webpack:///./node_modules/devextreme/ui/diagram/ui.diagram.dialogs.js","webpack:///./node_modules/devextreme/ui/diagram/ui.diagram.scroll_view.js","webpack:///./node_modules/devextreme/ui/diagram/diagram.toolbox_manager.js","webpack:///./node_modules/devextreme/ui/diagram/ui.diagram.toolbox.js","webpack:///./node_modules/devextreme/ui/diagram/ui.diagram.properties_panel.js","webpack:///./node_modules/devextreme/ui/diagram/diagram.options_update.js","webpack:///./node_modules/devextreme/ui/diagram/ui.diagram.dialog_manager.js","webpack:///./node_modules/devextreme/ui/diagram/diagram.nodes_option.js","webpack:///./node_modules/devextreme/ui/diagram/diagram.edges_option.js","webpack:///./node_modules/devextreme/ui/diagram/diagram.importer.js","webpack:///./node_modules/devextreme/ui/diagram/diagram.commands_manager.js","webpack:///./node_modules/devextreme/ui/diagram/ui.diagram.toolbar.js","webpack:///./node_modules/devextreme/ui/draggable.js","webpack:///./node_modules/devextreme/ui/diagram/diagram.bar.js","webpack:///./node_modules/devextreme/ui/dialog.js"],"names":["exports","default","_renderer","_interopRequireDefault","_ui","_events_engine","_index","_pointer","obj","__esModule","_setPrototypeOf","o","p","Object","setPrototypeOf","__proto__","POINTERUP_EVENT_NAME","addNamespace","up","_default","_Widget","subClass","superClass","DiagramPanel","apply","this","arguments","prototype","create","constructor","_proto","_init","call","_createOnPointerUpAction","_render","_attachPointerUpEvent","_getPointerUpElements","$element","_this","forEach","element","off","on","e","target","closest","length","_onPointerUpAction","_createActionByOption","_optionChanged","args","name","module","_icon","_typeof","Symbol","iterator","DiagramMenuHelper","getContextMenuItemTemplate","contextMenu","itemData","itemIndex","itemElement","$itemElement","empty","itemKey","rootCommand","icon","checked","$iconElement","getImageContainer","append","_menuHasCheckedItems","$checkElement","css","text","Array","isArray","items","getContextMenuCssClass","onContextMenuItemClick","widget","actionHandler","command","value","_parameter","getItemCommandParameter","parameter","getItemValue","item","JSON","stringify","getItemOptionText","indexPath","slice","parentItemOptionText","_getParentItemOptionText","_originalItemsInfo","indexPathCorrection","_getItemOptionTextCore","parentIndexPath","reduce","r","i","concat","getParameter","updateContextMenuItems","itemOptionText","rootCommandKey","option","map","originalItems","updateContextMenuItemVisible","visible","updateContextMenuItemValue","_setContextMenuHasCheckedItems","index","key","_extend","_window","_popup","_uiDiagram","_DiagramPanel","DiagramFloatingPanel","_createOnVisibilityChangingAction","_createOnVisibilityChangedAction","isVisible","isMobileView","_initMarkup","$parent","$popupElement","addClass","_getPopupClass","appendTo","_createComponent","_getPopupOptions","_updatePopupVisible","show","hide","toggle","repaint","_getPopupContent","content","_getPopupTitle","parent","find","_getVerticalPaddingsAndBorders","$content","outerHeight","height","_getHorizontalPaddingsAndBorders","outerWidth","width","_getPopupWidth","_getPopupMaxWidth","_getPopupMinWidth","_getPopupHeight","_getPopupMaxHeight","_getPopupMinHeight","_getPopupPosition","_getPopupContainer","_getPopupSlideAnimationObject","properties","extend","type","start","complete","_getPopupAnimation","that","animation","hasWindow","shading","showTitle","focusStateEnabled","container","maxWidth","maxHeight","minWidth","minHeight","position","onContentReady","_renderPopupContent","onShowing","_onVisibilityChangingAction","component","onShown","_onVisibilityChangedAction","onHiding","onHidden","_invalidate","_getDefaultOptions","offsetX","offsetY","_component","_data_helper","ItemsOption","_Component","diagramWidget","_diagramWidget","_resetCache","_dataSourceChangedHandler","newItems","_items","_dataSourceItems","changes","internalChanges","filter","change","internalChange","externalChanges","_reloadContentByChanges","_onDataSourceChanged","_dataSourceLoadingChangedHandler","isLoading","_dataSource","isLoaded","_showLoadingIndicator","_hideLoadingIndicator","_prepareData","dataObj","hasOwnProperty","insert","data","callback","errorCallback","_this2","store","_getStore","done","push","fail","error","update","storeKey","_getStoreKey","remove","_this3","findItem","_getItemByKey","getItems","hasItems","isExternalChanges","_this4","internalKey","_getInternalKey","_ensureCache","cache","_cache","_getIndexByKey","keySet","keys","accumulator","_fillCache","_this5","keyExpr","_getKeyExpr","itemsExpr","_getItemsExpr","containerChildrenExpr","_getContainerChildrenExpr","_dataSourceOptions","paginate","keyOf","include","_load_indicator","_component_registrator","_type","_data","_position","_resize_callbacks","_diagram","_element","_message","_number","zIndexPool","_getRequireWildcardCache","has","get","newObj","hasPropertyDescriptor","defineProperty","getOwnPropertyDescriptor","desc","set","_interopRequireWildcard","_ui2","_uiDiagram2","_uiDiagram3","_uiDiagram4","_uiDiagram5","_uiDiagram6","_uiDiagram7","_uiDiagram8","_uiDiagram9","_diagram2","_uiDiagram10","_uiDiagram11","_diagram3","_uiDiagram12","_diagram4","_diagram5","_diagram6","WeakMap","FULLSCREEN_CHANGE_EVENT_NAME","IE_FULLSCREEN_CHANGE_EVENT_NAME","WEBKIT_FULLSCREEN_CHANGE_EVENT_NAME","MOZ_FULLSCREEN_CHANGE_EVENT_NAME","Diagram","_updateDiagramLockCount","toggleFullscreenLock","_browserResizeTimer","_toolbars","_initDiagram","_createCustomCommand","_isMobileScreenSize","isServerSide","_mainToolbar","_renderMainToolbar","$contentWrapper","DIAGRAM_CLASS","_historyToolbar","_historyToolbarResizeCallback","_isHistoryToolbarVisible","_renderHistoryToolbar","_propertiesToolbar","_propertiesToolbarResizeCallback","_isPropertiesPanelEnabled","_renderPropertiesToolbar","_viewToolbar","_viewToolbarResizeCallback","_renderViewToolbar","_toolbox","_toolboxResizeCallback","_isToolboxEnabled","_renderToolbox","_propertiesPanel","_propertiesPanelResizeCallback","_renderPropertiesPanel","_$content","_contextMenu","_renderContextMenu","_contextToolbox","_renderContextToolbox","_renderDialog","$scrollViewWrapper","onCreateDiagram","_diagramInstance","createDocument","scrollView","add","_killBrowserResizeTimer","setTimeout","_processBrowserResize","_setCustomCommandChecked","SHOW_PROPERTIES_PANEL_COMMAND_NAME","_isPropertiesPanelVisible","SHOW_TOOLBOX_COMMAND_NAME","_isToolboxVisible","_processDiagramResize","clearTimeout","isMobileScreenSize","_captureFocus","captureFocus","_captureFocusOnTimeout","_captureFocusTimeout","_killCaptureFocusTimeout","notifyBarCommandExecuted","_registerToolbar","_registerBar","bar","onChanged","registerBar","_getExcludeCommands","excludeCommands","_getToolbarBaseOptions","_ref","onSubMenuVisibilityChanging","_ref2","updateBarItemsState","onPointerUp","_onPanelPointerUp","bind","onInternalCommand","_onInternalCommand","onCustomCommand","_onCustomCommand","_customCommandAction","$toolbarWrapper","commands","skipAdjustSize","isReadOnlyMode","$container","locateInMenu","_updateHistoryToolbarPosition","setup","my","at","of","offset","DIAGRAM_FLOATING_PANEL_OFFSET","$toolBox","bounds","_getToolboxBounds","offsetParent","showSearch","toolboxGroups","_getToolboxGroups","toolboxWidth","onShapeCategoryRendered","createToolbox","displayMode","shapes","category","shapeIconSpacing","shapeIconCountInRow","shapeIconAttributes","dataToggle","onFilterChanged","applyToolboxFilter","filteringToolboxes","onVisibilityChanging","_historyToolbarZIndex","baseZIndex","onVisibilityChanged","_textInputStarted","updateMaxHeight","result","_getViewToolbarYOffset","_this6","_updateViewToolbarPosition","_this7","buttonStylingMode","buttonType","_updatePropertiesToolbarPosition","_this8","$propertiesPanel","propertyTabs","onCreateToolbar","toolbar","editorStylingMode","_updatePropertiesPanelGroupBars","onSelectedGroupChanged","_ref3","_this9","getActiveToolbars","_this10","$contextMenu","DiagramContextMenuWrapper","_ref4","_ref5","onItemClick","_onBeforeCommandExecuted","_this11","$contextToolbox","$toolboxContainer","isTextGroup","group","g","createContextToolbox","shapeType","tb","setCommandChecked","dialogParameters","getDialogParameters","_showDialog","$dialogElement","_dialogInstance","onGetContent","getCommand","title","_show","_loadingIndicator","DiagramControl","getDiagram","_raiseDataChangeAction","onEdgeInserted","_raiseEdgeInsertedAction","onEdgeUpdated","_raiseEdgeUpdatedAction","onEdgeRemoved","_raiseEdgeRemovedAction","onNodeInserted","_raiseNodeInsertedAction","onNodeUpdated","_raiseNodeUpdatedAction","onNodeRemoved","_raiseNodeRemovedAction","onToolboxDragStart","_raiseToolboxDragStart","onToolboxDragEnd","_raiseToolboxDragEnd","onTextInputStart","_raiseTextInputStart","onTextInputEnd","_raiseTextInputEnd","onToggleFullscreen","_onToggleFullScreen","onShowContextMenu","_onShowContextMenu","onHideContextMenu","_onHideContextMenu","onShowContextToolbox","_onShowContextToolbox","onHideContextToolbox","_onHideContextToolbox","onNativeAction","notifyItemClick","_raiseItemClickAction","notifyItemDblClick","_raiseItemDblClickAction","notifySelectionChanged","_raiseSelectionChanged","onRequestOperation","_raiseRequestEditOperation","_updateEventSubscriptionMethods","_updateDefaultItemProperties","_updateEditingSettings","_updateShapeTexts","_updateUnitItems","_updateFormatUnitsMethod","_updateUnitsState","_updateReadOnlyState","_updatePageSizeItemsState","_updatePageSizeState","_updatePageOrientationState","_updatePageColorState","_updateViewUnitsState","_updateShowGridState","_updateSnapToGridState","_updateGridSizeState","_updateZoomLevelState","_updateSimpleViewState","_updateAutoZoomState","window","getWindow","self","top","_updateFullscreenState","optionsUpdateBar","initMeasurer","_updateCustomShapes","_getCustomShapes","_refreshDataSources","_clean","cleanMarkup","_dispose","_executeDiagramCommand","execute","getNodeDataSource","_nodesOption","getDataSource","getEdgeDataSource","_edgesOption","_beginUpdateDiagram","_refreshNodesDataSource","_refreshEdgesDataSource","_endUpdateDiagram","_disposeDataSource","_refreshDataSource","_getDiagramData","DiagramCommand","Export","_setDiagramData","keepExistingItems","Import","_bindDiagramData","_getChangesKeys","_createOptionGetter","optionName","expr","compileGetter","_onRequestUpdateLayout","_requestLayoutUpdateAction","_createRequestLayoutUpdateAction","eventArgs","allowed","_createOptionSetter","isFunction","compileSetter","_isBindingMode","lineOptionGetter","lineOptionSetter","startLineEndingGetter","startLineEndingSetter","endLineEndingGetter","endLineEndingSetter","containerKeyGetter","containerKeySetter","_getDiagram4","ConnectorLineOption","ConnectorLineEnding","nodeDataSource","edgeDataSource","nodeDataImporter","getKey","setKey","getCustomData","setCustomData","getLocked","setLocked","getStyle","setStyle","getStyleText","setStyleText","getZIndex","setZIndex","getType","setType","getText","setText","getImage","setImage","getLeft","setLeft","getTop","setTop","getWidth","setWidth","getHeight","setHeight","getParentKey","setParentKey","setItems","getContainerKey","setContainerKey","getChildren","setChildren","edgeDataImporter","getFrom","setFrom","getFromPointIndex","setFromPointIndex","getTo","setTo","getToPointIndex","setToPointIndex","getPoints","setPoints","getLineOption","lineType","_getConnectorLineOption","setLineOption","Straight","Orthogonal","getStartLineEnding","lineEnd","_getConnectorLineEnding","setStartLineEnding","Arrow","OutlinedTriangle","FilledTriangle","None","getEndLineEnding","setEndLineEnding","layoutParameters","_getDataBindingLayoutParameters","BindDocument","applyLayout","_reloadContent","itemKeys","_this12","reloadContent","_getDiagram7","DataLayoutType","DataLayoutOrientation","layoutParametersOption","layoutType","parameters","_hasNodePositionExprs","Tree","Sugiyama","orientation","Vertical","Horizontal","skipPointIndices","autoSizeEnabled","_getAutoZoomValue","AutoZoomMode","FitContent","FitToWidth","Disabled","Math","max","getGroups","customShapes","prevCustomShapes","_this13","removeCustomShapes","s","addCustomShapes","templateOption","template","_getTemplate","toolboxTemplateOption","toolboxTemplate","baseType","svgUrl","backgroundImageUrl","svgToolboxUrl","backgroundImageToolboxUrl","svgLeft","backgroundImageLeft","svgTop","backgroundImageTop","svgWidth","backgroundImageWidth","svgHeight","backgroundImageHeight","defaultWidth","defaultHeight","toolboxWidthToHeightRatio","allowResize","defaultText","allowEditText","textLeft","textTop","textWidth","textHeight","defaultImageUrl","allowEditImage","imageLeft","imageTop","imageWidth","imageHeight","connectionPoints","pt","x","y","createTemplate","render","model","_nativeItemToDiagramItem","getPublicElement","createToolboxTemplate","destroyTemplate","templateLeft","templateTop","templateWidth","templateHeight","keepRatioOnAutoSize","fullScreen","_changeNativeFullscreen","toggleClass","updateLayout","setModeOn","_inNativeFullscreen","_subscribeFullscreenNativeChanged","_unsubscribeFullscreenNativeChanged","_setNativeFullscreen","document","body","requestFullscreen","mozRequestFullscreen","webkitRequestFullscreen","msRequestFullscreen","exitFullscreen","mozCancelFullscreen","webkitExitFullscreen","msExitFullscreen","fullscreenElement","msFullscreenElement","webkitFullscreenElement","webkitIsFullscreen","handler","_onNativeFullscreenChangeHandler","_executeDiagramFullscreenCommand","fullscreen","Fullscreen","selection","_hide","side","_getDiagramUnitValue","DiagramUnit","In","Cm","Px","readOnly","ToggleReadOnly","_updateZoomLevelItemsState","zoomLevel","ZoomLevel","_zoomLevel","_DiagramCommand","zoomLevelItems","ZoomLevelItems","SwitchAutoZoom","ToggleSimpleView","ShowGrid","SnapToGrid","_updateGridSizeItemsState","gridSize","GridSize","_gridSize","_DiagramCommand2","gridSizeItems","GridSizeItems","DiagramLocalizationService","_getUnitItems","_unitItems","unitItems","format","formatUnit","ViewUnits","Units","pageSize","PageSize","pageSizeItems","PageSizeItems","PageLandscape","PageColor","texts","_getShapeTexts","_shapeTexts","shapeTexts","ShapeTypes","Text","Rectangle","Ellipse","Cross","Triangle","Diamond","Heart","Pentagon","Hexagon","Octagon","Star","ArrowLeft","ArrowUp","ArrowRight","ArrowDown","ArrowUpDown","ArrowLeftRight","Process","Decision","Terminator","PredefinedProcess","Document","MultipleDocuments","ManualInput","Preparation","Data","Database","HardDisk","InternalStorage","PaperTape","ManualOperation","Delay","StoredData","Display","Merge","Connector","Or","SummingJunction","Container","VerticalContainer","HorizontalContainer","Card","CardWithImageOnLeft","CardWithImageOnTop","CardWithImageOnRight","RenderHelper","addEventListener","eventName","removeEventListener","setInitialStyleProperties","setInitialTextStyleProperties","setInitialConnectorProperties","lineOption","startLineEnding","endLineEnding","applyShapeSizeSettings","shapeMinWidth","shapeMaxWidth","shapeMinHeight","shapeMaxHeight","applyOperationSettings","addShape","addShapeFromToolbox","deleteShape","deleteConnector","changeConnection","changeConnectorPoints","changeShapeText","changeConnectorText","resizeShape","moveShape","focus","export","exportTo","_getDiagramExportToCommand","ExportPng","ExportJpg","ExportSvg","import","updateExistingItemsOnly","updateToolbox","refreshToolbox","simpleView","autoZoomMode","showGrid","snapToGrid","units","viewUnits","pageOrientation","pageColor","hasChanges","nodes","dataSource","customDataExpr","lockedExpr","styleExpr","textStyleExpr","zIndexExpr","typeExpr","textExpr","imageUrlExpr","parentKeyExpr","leftExpr","topExpr","widthExpr","heightExpr","containerKeyExpr","autoLayout","edges","fromExpr","fromPointIndexExpr","toExpr","toPointIndexExpr","pointsExpr","lineTypeExpr","fromLineEndExpr","toLineEndExpr","toolbox","visibility","shapeIconsPerRow","mainToolbar","historyToolbar","viewToolbar","enabled","contextToolbox","propertiesPanel","defaultItemProperties","connectorLineType","connectorLineStart","connectorLineEnd","editing","allowAddShape","allowDeleteShape","allowDeleteConnector","allowChangeConnection","allowChangeConnectorPoints","allowChangeShapeText","allowChangeConnectorText","allowResizeShape","allowMoveShape","fileName","proxyUrl","onItemDblClick","onSelectionChanged","onRequestEditOperation","onRequestLayoutUpdate","_initialized","_toolboxDragHidden","_propertiesPanelTextInputHidden","_toolboxTextInputHidden","_createItemClickAction","_itemClickAction","_createItemDblClickAction","_itemDblClickAction","_createSelectionChangedAction","_selectionChangedAction","_createRequestEditOperationAction","_requestEditOperationAction","nativeItem","nativeItems","operation","_getRequestEditOperationEventArgs","_getModelOperation","DiagramModelOperation","AddShape","AddShapeFromToolbox","DeleteShape","DeleteConnector","ChangeConnection","ChangeConnectorPoints","BeforeChangeShapeText","ChangeShapeText","BeforeChangeConnectorText","ChangeConnectorText","ResizeShape","MoveShape","_getDiagram36","ConnectorPosition","updateUI","reason","shape","connector","newShape","oldShape","connectionPointIndex","connectorPosition","Begin","newPoints","points","oldPoints","newSize","size","oldSize","newPosition","oldPosition","createMethod","NativeShape","_nativeShapeToDiagramShape","_nativeConnectorToDiagramConnector","id","dataItem","nativeShape","itemType","attachedConnectorIds","containerId","containerChildItemIds","containerExpanded","nativeConnector","fromKey","toKey","fromId","fromPointIndex","toId","toPointIndex","getItemByKey","getNativeItemByDataKey","getItemById","getNativeItemByKey","_invalidateContextMenuCommands","_invalidatePropertiesPanelTabs","_invalidateMainToolbarCommands","_invalidateHistoryToolbarCommands","_invalidateViewToolbarCommands","_invalidateToolboxGroups","isUpdateLocked","beginUpdate","_optionChangedCore","endUpdate","_this14","fullName","previousValue","_DiagramToolbar","DiagramMainToolbar","_getCommands","getMainToolbarCommands","DiagramHistoryToolbar","getHistoryToolbarCommands","DiagramViewToolbar","getViewToolbarCommands","DiagramPropertiesToolbar","getPropertiesToolbarCommands","_context_menu","_inheritsLoose","_createOnInternalCommand","_createOnCustomCommand","_createOnItemClickAction","_tempState","_commands","_commandToIndexMap","DiagramContextMenuBar","_fillCommandToIndexMap","_$contextMenuTargetElement","_contextMenuInstance","DiagramContextMenu","isTouchBarMode","_isTouchBarMode","cssClass","closeOnOutsideClick","showEvent","itemTemplate","_onItemClick","_inOnShowing","widthCorrection","left","Browser","TouchUI","processed","_onItemClickAction","_executeCommand","raiseBarCommandExecuted","_onInternalCommandAction","_onCustomCommandAction","getContextMenuCommands","commandIndexPath","_setItemEnabled","_setItemVisible","_setItemValue","_setItemSubItems","_setEnabled","_ContextMenu","_renderContextMenuOverlay","_overlay","_DiagramBar","owner","_proto3","getCommandKeys","_getKeys","_owner","setItemValue","setItemEnabled","setItemVisible","setItemSubItems","setEnabled","_popover","DiagramContextToolbox","_onShownAction","_popoverPositionData","_$popoverTargetElement","$popoverElement","popoverClass","_popoverInstance","elementAttr","contentTemplate","DiagramDialog","_command","_isShown","_createOnGetContentOption","_createOnHiddenOption","_$popupElement","toolbarItems","_onHiddenAction","_getToolbarItems","_getOkToolbarItem","_getCancelToolbarItem","location","options","onClick","_commandParameter","_onGetContentAction","_scroll_view","DiagramScrollView","EventDispatcher","onScroll","_createOnCreateDiagramAction","_scrollView","direction","bounceEnabled","scrollOffset","_raiseOnScroll","_onCreateDiagramAction","setScroll","scrollTo","_raiseOnScrollWithoutPoint","offsetScroll","scrollBy","getSize","Size","floor","getScrollContainer","getScrollBarWidth","detachEvents","Point","raise","scrollLeft","scrollTop","getDefaultGroups","_groups","general","flowchart","orgChart","containers","custom","groups","defaultGroups","_deferred","_text_box","_accordion","_tooltip","_DiagramFloatingPanel","DiagramToolbox","_toolboxes","_filterText","_createOnShapeCategoryRenderedAction","_createOnFilterChangedAction","from","to","activeStateEnabled","hoverStateEnabled","stylingMode","panelHeight","$inputContainer","_updateElementWidth","_renderSearchInput","_searchInput","$panel","_renderScrollView","$input","placeholder","onValueChanged","_onInputChanged","valueChangeEvent","buttons","$accordion","_renderAccordion","_getAccordionDataSource","groupObj","expanded","onTemplate","$toolboxElement","_onShapeCategoryRenderedAction","_onFilterChangedAction","_createTooltips","targets","each","$target","attr","$tooltip","html","hideEvent","delay","multiple","animationDuration","collapsible","displayExpr","disabled","_updateScrollAnimateSubscription","collapseItem","expandItem","_deferredAnimate","Deferred","removeClass","$tooltipContainer","_tab_panel","DiagramPropertiesPanel","_commandTabs","getPropertyPanelCommandTabs","_createOnCreateToolbar","_createOnSelectedGroupChanged","_selectedToolbar","className","_hasTabPanel","showCloseButton","_renderTabPanel","_renderTabContent","$tabPanel","_tabPanel","_onSelectedGroupChangedAction","_firstScrollView","_scrollViewHeight","tab","isSingleTab","_renderTabInnerContent","sg","si","_renderTabGroupContent","_onCreateToolbarAction","DiagramOptionsUpdateBar","commandOptions","_getOption","_setOption","_updateLock","parseInt","_file_uploader","getConfigurations","dialogList","InsertShapeImage","getChangeImageDialogContent","EditShapeImage","$uploader","selectButtonText","accept","uploadMode","reader","FileReader","onload","readAsDataURL","commandIndex","c","indexOf","_ItemsOption","NodesOption","EdgesOption","Error","_file_saver","SEPARATOR_COMMAND","CSS_CLASSES","getAllCommands","_allCommands","separator","exportSvg","dataURI","_exportTo","exportPng","exportJpg","undo","Undo","hint","menuIcon","redo","Redo","cut","Cut","copy","Copy","paste","PasteInPosition","selectAll","SelectAll","Delete","fontName","FontName","fontSize","FontSize","bold","Bold","italic","Italic","underline","Underline","fontColor","FontColor","lineColor","StrokeColor","lineWidth","StrokeWidth","toString","lineStyle","StrokeStyle","fillColor","FillColor","textAlignLeft","TextLeftAlign","textAlignCenter","TextCenterAlign","textAlignRight","TextRightAlign","menu","lock","Lock","unlock","Unlock","bringToFront","BringToFront","sendToBack","SendToBack","insertShapeImage","editShapeImage","deleteShapeImage","DeleteShapeImage","ConnectorStartLineEnding","ConnectorEndLineEnding","layoutTreeTopToBottom","AutoLayoutTreeVertical","layoutTreeBottomToTop","AutoLayoutTreeVerticalBottomToTop","layoutTreeLeftToRight","AutoLayoutTreeHorizontal","layoutTreeRightToLeft","AutoLayoutTreeHorizontalRightToLeft","layoutLayeredTopToBottom","AutoLayoutLayeredVertical","layoutLayeredBottomToTop","AutoLayoutLayeredVerticalBottomToTop","layoutLayeredLeftToRight","AutoLayoutLayeredHorizontal","layoutLayeredRightToLeft","AutoLayoutLayeredHorizontalRightToLeft","getCommandValue","v","parse","getEditorValue","FitToScreen","AutoZoomToContent","AutoZoomToWidth","getEditorDisplayValue","round","iconChecked","iconUnchecked","allCommands","mainToolbarCommands","_getPreparedCommands","_getDefaultMainToolbarCommands","_prepareToolbarCommands","_defaultMainToolbarCommands","showText","historyToolbarCommands","_getDefaultHistoryToolbarCommands","_defaultHistoryToolbarCommands","viewToolbarCommands","_getDefaultViewToolbarCommands","_defaultViewToolbarCommands","propertiesCommands","_getDefaultPropertiesToolbarCommands","_defaultPropertiesToolbarCommands","_getDefaultPropertyPanelCommandGroups","_defaultPropertyPanelCommandGroups","_preparePropertyPanelGroups","subGroups","subCommands","commandGroups","contextMenuCommands","_getDefaultContextMenuCommands","_prepareContextMenuCommands","_defaultContextMenuCommands","delete","internalCommand","beginGroup","_isValidCommand","_cloneCommand","arr","mimeString","atob","Blob","blob","_getBlobByDataURI","fileSaver","saveAs","proxyURL","byteString","split","ia","Uint8Array","charCodeAt","buffer","_toolbar","DiagramToolbar","_itemHelpers","_commandContextMenus","_contextMenuList","_valueConverters","DiagramToolbarBar","_createOnSubMenuVisibilityChangingAction","$toolbar","_createMainElement","_renderToolbar","$toolbarContent","_$element","beforeCommands","centerCommands","afterCommands","_prepareToolbarItems","_toolbarInstance","_createItem","_createItemOptions","_createItemActionOptions","menuItemTemplate","onInitialized","_onItemInitialized","_onItemContentReady","valueExpr","_createSelectBoxItemOptions","_createTextBoxItemOptions","_createColorBoxItemOptions","_createTextEditorItemOptions","dropDownOptions","every","fieldTemplate","dxTextBox","_toggleContextMenu","openOnFieldClick","onOpened","onClosed","cm","_addItemHelper","DiagramToolbarItemHelper","NAME","$menuContainer","_dropDownButtonElement","_showingSubMenu","_onSubMenuVisibilityChangingAction","_onContextMenuInitialized","onDisposing","_onContextMenuDisposing","getButton","rootWidget","_addContextMenuHelper","helper","subItem","itemIndexPath","DiagramToolbarSubItemHelper","splice","_updateLocked","valueConverter","canUpdate","displayValue","setValue","setCommandEnabled","_proto2","_widget","showingSubMenu","_updateEditorValue","_updateButtonValue","_updateContextMenuItemValue","_updateContextMenuItems","_updateEditorItems","_DiagramToolbarItemHe","_indexPath","_rootCommandKey","_rootWidget","_proto4","_getItemOptionText","rootEnabled","_hasEnabledCommandItems","some","_string","_translator","_animator","_browser","_inflector","_dom_component","_drag","_common","_view_port","_empty_template","_position2","targetDraggable","sourceDraggable","DRAGGABLE","DRAGSTART_EVENT_NAME","DRAG_EVENT_NAME","move","DRAGEND_EVENT_NAME","end","DRAG_ENTER_EVENT_NAME","enter","DRAGEND_LEAVE_EVENT_NAME","leave","POINTERDOWN_EVENT_NAME","down","getMousePosition","event","pageX","pageY","ScrollHelper","_preventScroll","_scrollValue","_overFlowAttr","_sizeAttr","_scrollSizeProp","_clientSizeProp","_limitProps","updateScrollable","elements","mousePosition","_trySetScrollable","_$scrollableAtPointer","_scrollSpeed","isScrolling","isScrollable","hasClass","prop","distanceToBorders","sensitivity","_calculateDistanceToBorders","_calculateScrollSpeed","$area","areaBoundingRect","area","getBoundingRect","right","bottom","distance","maxSpeed","ceil","pow","scrollByStep","$scrollable","scrollableInstance","nextScrollPosition","enumerable","configurable","writable","_nextScrollPosition","dragMoveArgs","_dragMoveArgs","_dragMoveHandler","reset","isOutsideScrollable","scrollableSize","ScrollAnimator","inherit","ctor","strategy","callBase","_strategy","_step","horizontalScrollHelper","_horizontalScrollHelper","verticalScrollHelper","_verticalScrollHelper","Draggable","noop","dragMove","dragEnter","dragLeave","dragEnd","sourceEvent","_getSourceDraggable","_fireRemoveEvent","resolve","onDragStart","onDragMove","onDragEnd","onDragEnter","onDragLeave","onDrop","immediate","dragDirection","boundary","boundOffset","allowMoveByClick","dragTemplate","handle","clone","autoScroll","scrollSpeed","scrollSensitivity","_setOptionsByReference","_optionsByReference","_attachEventHandlers","_scrollAnimator","_normalizeCursorOffset","isObject","h","splitPair","parseFloat","_getNormalizedCursorOffset","_calculateElementOffset","elementOffset","dragElementOffset","$dragElement","dragElement","isCloned","_dragElementIsCloned","cursorOffset","normalizedCursorOffset","currentLocate","_initialLocate","locate","initialOffset","isFinite","_initPosition","_move","_startPosition","_startAnimator","inProgress","_stopAnimator","stop","_addWidgetPrefix","componentName","dasherize","_getItemsSelector","$wrapper","children","itemsSelector","checkDropTarget","targetGroup","sourceGroup","_getScrollable","_getArea","_pointerDownHandler","_dragStartHandler","_dragEndHandler","_dragEnterHandler","_dragLeaveHandler","_$dragElement","_getDragTemplateArgs","_createDragElement","_getContainer","_resetDragElement","_toggleDraggingClass","_resetSourceElement","_toggleDragSourceClass","_$sourceElement","_detachEventHandlers","_getDraggableElement","$sourceElement","_getSourceElement","$items","is","needSkipEvent","_getAction","_getEventArgs","_isValidElement","originalEvent","dragStartArgs","_getDragStartArgs","cancel","_setSourceDraggable","_setGestureCoverCursor","isFixedPosition","areaOffset","_getAreaOffset","_getBoundOffset","areaWidth","areaHeight","elementWidth","elementHeight","startOffset","maxLeftOffset","maxRightOffset","maxTopOffset","maxBottomOffset","quadToObject","startPosition","_updateScrollable","_getTargetDraggable","allObjects","getElementsFromPoint","ownerDocument","msie","msElements","msElementsFromPoint","elementsFromPoint","parents","toArray","_defaultActionArgs","fromComponent","toComponent","fromData","toData","_revertItemToInitialPosition","d","dragEndEventArgs","dropEventArgs","needRevertPosition","when","fromPromise","always","_resetTargetDraggable","_resetSourceDraggable","_isTargetOverAnotherDraggable","$sourceDraggableElement","$targetDraggableElement","firstWidgetElement","isTargetOverItself","isTargetOverNestedDraggable","_fireDragEnterEvent","_setTargetDraggable","_fireDragLeaveEvent","_getAnonymousTemplateName","_initTemplates","_templateManager","addDefaultTemplates","EmptyTemplate","transclude","anonymousTemplateName","_getTemplateByOption","currentGroup","DiagramBar","confirm","alert","FakeDialogComponent","_action","_devices","_config","_dom","_iterator","DEFAULT_BUTTON","DX_DIALOG_WRAPPER_CLASSNAME","DX_DIALOG_ROOT_CLASSNAME","DX_DIALOG_CONTENT_CLASSNAME","DX_DIALOG_MESSAGE_CLASSNAME","DX_DIALOG_BUTTONS_CLASSNAME","DX_DIALOG_BUTTON_CLASSNAME","_defaultOptionsRules","device","platform","lWidth","pWidth","deferred","defaultOptions","isMessageHtmlDefined","log","messageHtml","String","message","$message","popupToolbarItems","action","context","popupInstance","current","android","ensureDefined","dragEnabled","widthOption","ignoreChildEvents","bottomToolbar","resetActiveElement","$firstButton","first","trigger","reject","duration","opacity","scale","rtlEnabled","boundaryOffset","popupOptions","_wrapper","promise","isPlainObject"],"mappings":"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","file":"vendors~2896ed73.49c1db47a64370dd10ff.bundle.js","sourcesContent":["/**\r\n * DevExtreme (ui/diagram/ui.diagram.panel.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _pointer = _interopRequireDefault(require(\"../../events/pointer\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf || function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar POINTERUP_EVENT_NAME = (0, _index.addNamespace)(_pointer.default.up, \"dxDiagramPanel\");\r\nvar PREVENT_REFOCUS_SELECTOR = \".dx-textbox\";\r\nvar DiagramPanel = function(_Widget) {\r\n _inheritsLoose(DiagramPanel, _Widget);\r\n\r\n function DiagramPanel() {\r\n return _Widget.apply(this, arguments) || this\r\n }\r\n var _proto = DiagramPanel.prototype;\r\n _proto._init = function() {\r\n _Widget.prototype._init.call(this);\r\n this._createOnPointerUpAction()\r\n };\r\n _proto._render = function() {\r\n _Widget.prototype._render.call(this);\r\n this._attachPointerUpEvent()\r\n };\r\n _proto._getPointerUpElements = function() {\r\n return [this.$element()]\r\n };\r\n _proto._attachPointerUpEvent = function() {\r\n var _this = this;\r\n var elements = this._getPointerUpElements();\r\n elements.forEach(function(element) {\r\n _events_engine.default.off(element, POINTERUP_EVENT_NAME);\r\n _events_engine.default.on(element, POINTERUP_EVENT_NAME, function(e) {\r\n if (!(0, _renderer.default)(e.target).closest(PREVENT_REFOCUS_SELECTOR).length) {\r\n _this._onPointerUpAction()\r\n }\r\n })\r\n })\r\n };\r\n _proto._createOnPointerUpAction = function() {\r\n this._onPointerUpAction = this._createActionByOption(\"onPointerUp\")\r\n };\r\n _proto._optionChanged = function(args) {\r\n switch (args.name) {\r\n case \"onPointerUp\":\r\n this._createOnPointerUpAction();\r\n break;\r\n default:\r\n _Widget.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n return DiagramPanel\r\n}(_ui.default);\r\nvar _default = DiagramPanel;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/diagram/ui.diagram.menu_helper.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _icon = require(\"../../core/utils/icon\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n \"@babel/helpers - typeof\";\r\n if (\"function\" === typeof Symbol && \"symbol\" === typeof Symbol.iterator) {\r\n _typeof = function(obj) {\r\n return typeof obj\r\n }\r\n } else {\r\n _typeof = function(obj) {\r\n return obj && \"function\" === typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }\r\n }\r\n return _typeof(obj)\r\n}\r\nvar DIAGRAM_CONTEXT_MENU_CLASS = \"dx-diagram-contextmenu\";\r\nvar DiagramMenuHelper = {\r\n getContextMenuItemTemplate: function(contextMenu, itemData, itemIndex, itemElement) {\r\n var $itemElement = (0, _renderer.default)(itemElement);\r\n $itemElement.empty();\r\n var itemKey = void 0 !== itemData.rootCommand ? itemData.rootCommand : -1;\r\n if (itemData.icon && !itemData.checked) {\r\n var $iconElement = (0, _icon.getImageContainer)(itemData.icon);\r\n $itemElement.append($iconElement)\r\n } else {\r\n if (contextMenu._menuHasCheckedItems && true === contextMenu._menuHasCheckedItems[itemKey]) {\r\n var $checkElement = (0, _icon.getImageContainer)(\"check\");\r\n $checkElement.css(\"visibility\", !itemData.checked ? \"hidden\" : \"visible\");\r\n $itemElement.append($checkElement)\r\n }\r\n }\r\n $itemElement.append('' + itemData.text + \"\");\r\n if (Array.isArray(itemData.items) && itemData.items.length > 0) {\r\n $itemElement.append('
')\r\n }\r\n },\r\n getContextMenuCssClass: function() {\r\n return DIAGRAM_CONTEXT_MENU_CLASS\r\n },\r\n onContextMenuItemClick: function(widget, itemData, actionHandler) {\r\n if ((void 0 !== itemData.command || void 0 !== itemData.name) && (!Array.isArray(itemData.items) || !itemData.items.length)) {\r\n var parameter = DiagramMenuHelper.getItemCommandParameter(widget, itemData);\r\n actionHandler.call(this, itemData.command, itemData.name, parameter)\r\n } else {\r\n if (void 0 !== itemData.rootCommand && void 0 !== itemData.value) {\r\n var _parameter = DiagramMenuHelper.getItemCommandParameter(widget, itemData, itemData.value);\r\n actionHandler.call(this, itemData.rootCommand, void 0, _parameter)\r\n }\r\n }\r\n },\r\n getItemValue: function(item) {\r\n return \"object\" === _typeof(item.value) ? JSON.stringify(item.value) : item.value\r\n },\r\n getItemOptionText: function(contextMenu, indexPath) {\r\n if (contextMenu) {\r\n indexPath = indexPath.slice();\r\n var parentItemOptionText = this._getParentItemOptionText(indexPath);\r\n if (contextMenu && contextMenu._originalItemsInfo && contextMenu._originalItemsInfo[parentItemOptionText]) {\r\n indexPath[indexPath.length - 1] += contextMenu._originalItemsInfo[parentItemOptionText].indexPathCorrection\r\n }\r\n }\r\n return this._getItemOptionTextCore(indexPath)\r\n },\r\n _getParentItemOptionText: function(indexPath) {\r\n var parentIndexPath = indexPath.slice(0, indexPath.length - 1);\r\n return this._getItemOptionTextCore(parentIndexPath)\r\n },\r\n _getItemOptionTextCore: function(indexPath) {\r\n return indexPath.reduce(function(r, i) {\r\n return r + \"items[\".concat(i, \"].\")\r\n }, \"\")\r\n },\r\n getItemCommandParameter: function(widget, item, value) {\r\n if (item.getParameter) {\r\n return item.getParameter(widget)\r\n }\r\n return value\r\n },\r\n updateContextMenuItems: function(contextMenu, itemOptionText, rootCommandKey, items) {\r\n var _this = this;\r\n if (!contextMenu._originalItemsInfo) {\r\n contextMenu._originalItemsInfo = {}\r\n }\r\n if (!contextMenu._originalItemsInfo[itemOptionText]) {\r\n contextMenu._originalItemsInfo[itemOptionText] = {\r\n items: contextMenu.option(itemOptionText + \"items\") || []\r\n }\r\n }\r\n items = items.map(function(item) {\r\n return {\r\n value: _this.getItemValue(item),\r\n text: item.text,\r\n checked: item.checked,\r\n widget: contextMenu,\r\n rootCommand: rootCommandKey\r\n }\r\n });\r\n var originalItems = contextMenu._originalItemsInfo[itemOptionText].items;\r\n contextMenu.option(itemOptionText + \"items\", items.concat(originalItems));\r\n if (contextMenu._originalItemsInfo[itemOptionText] && originalItems.length) {\r\n contextMenu._originalItemsInfo[itemOptionText].indexPathCorrection = items.length\r\n }\r\n },\r\n updateContextMenuItemVisible: function(contextMenu, itemOptionText, visible) {\r\n contextMenu.option(itemOptionText + \"visible\", visible)\r\n },\r\n updateContextMenuItemValue: function(contextMenu, itemOptionText, rootCommandKey, value) {\r\n var items = contextMenu.option(itemOptionText + \"items\");\r\n if (\"boolean\" === typeof value && (!items || !items.length)) {\r\n this._setContextMenuHasCheckedItems(contextMenu, -1);\r\n contextMenu.option(itemOptionText + \"checked\", value)\r\n } else {\r\n if (void 0 !== value) {\r\n this._setContextMenuHasCheckedItems(contextMenu, rootCommandKey);\r\n if (Array.isArray(items)) {\r\n items.forEach(function(item, index) {\r\n item.checked = item.value === value\r\n })\r\n }\r\n }\r\n }\r\n },\r\n _setContextMenuHasCheckedItems: function(contextMenu, key) {\r\n if (!contextMenu._menuHasCheckedItems) {\r\n contextMenu._menuHasCheckedItems = {}\r\n }\r\n contextMenu._menuHasCheckedItems[key] = true\r\n }\r\n};\r\nvar _default = DiagramMenuHelper;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/diagram/ui.diagram.floating_panel.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _popup = _interopRequireDefault(require(\"../popup\"));\r\nvar _uiDiagram = _interopRequireDefault(require(\"./ui.diagram.panel\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf || function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar DIAGRAM_MOBILE_POPUP_CLASS = \"dx-diagram-mobile-popup\";\r\nvar DiagramFloatingPanel = function(_DiagramPanel) {\r\n _inheritsLoose(DiagramFloatingPanel, _DiagramPanel);\r\n\r\n function DiagramFloatingPanel() {\r\n return _DiagramPanel.apply(this, arguments) || this\r\n }\r\n var _proto = DiagramFloatingPanel.prototype;\r\n _proto._init = function() {\r\n _DiagramPanel.prototype._init.call(this);\r\n this._createOnVisibilityChangingAction();\r\n this._createOnVisibilityChangedAction()\r\n };\r\n _proto.isVisible = function() {\r\n return this.option(\"isVisible\")\r\n };\r\n _proto.isMobileView = function() {\r\n return this.option(\"isMobileView\")\r\n };\r\n _proto._initMarkup = function() {\r\n _DiagramPanel.prototype._initMarkup.call(this);\r\n var $parent = this.$element();\r\n var $popupElement = (0, _renderer.default)(\"
\").addClass(this._getPopupClass()).addClass(this.isMobileView() && DIAGRAM_MOBILE_POPUP_CLASS).appendTo($parent);\r\n this._popup = this._createComponent($popupElement, _popup.default, this._getPopupOptions());\r\n this._updatePopupVisible()\r\n };\r\n _proto.show = function() {\r\n this.option(\"isVisible\", true)\r\n };\r\n _proto.hide = function() {\r\n this.option(\"isVisible\", false)\r\n };\r\n _proto.toggle = function() {\r\n this.option(\"isVisible\", !this.isVisible())\r\n };\r\n _proto.repaint = function() {\r\n this._popup.repaint()\r\n };\r\n _proto._getPopupContent = function() {\r\n return this._popup.content()\r\n };\r\n _proto._getPopupTitle = function() {\r\n var $content = (0, _renderer.default)(this._getPopupContent());\r\n return $content.parent().find(\".dx-popup-title\")\r\n };\r\n _proto._getPointerUpElements = function() {\r\n return [this._getPopupContent(), this._getPopupTitle()]\r\n };\r\n _proto._getVerticalPaddingsAndBorders = function() {\r\n var $content = (0, _renderer.default)(this._getPopupContent());\r\n return $content.outerHeight() - $content.height()\r\n };\r\n _proto._getHorizontalPaddingsAndBorders = function() {\r\n var $content = (0, _renderer.default)(this._getPopupContent());\r\n return $content.outerWidth() - $content.width()\r\n };\r\n _proto._getPopupClass = function() {\r\n return \"\"\r\n };\r\n _proto._getPopupWidth = function() {\r\n return this.option(\"width\") || \"auto\"\r\n };\r\n _proto._getPopupMaxWidth = function() {\r\n return this.option(\"maxWidth\")\r\n };\r\n _proto._getPopupMinWidth = function() {\r\n return this.option(\"minWidth\")\r\n };\r\n _proto._getPopupHeight = function() {\r\n return this.option(\"height\") || \"auto\"\r\n };\r\n _proto._getPopupMaxHeight = function() {\r\n return this.option(\"maxHeight\")\r\n };\r\n _proto._getPopupMinHeight = function() {\r\n return this.option(\"minHeight\")\r\n };\r\n _proto._getPopupPosition = function() {\r\n return {}\r\n };\r\n _proto._getPopupContainer = function() {\r\n return this.option(\"container\")\r\n };\r\n _proto._getPopupSlideAnimationObject = function(properties) {\r\n return (0, _extend.extend)({\r\n type: \"slide\",\r\n start: function() {\r\n (0, _renderer.default)(\"body\").css(\"overflow\", \"hidden\")\r\n },\r\n complete: function() {\r\n (0, _renderer.default)(\"body\").css(\"overflow\", \"\")\r\n }\r\n }, properties)\r\n };\r\n _proto._getPopupAnimation = function() {\r\n return {\r\n hide: {\r\n type: \"fadeOut\"\r\n },\r\n show: {\r\n type: \"fadeIn\"\r\n }\r\n }\r\n };\r\n _proto._getPopupOptions = function() {\r\n var _this = this;\r\n var that = this;\r\n return {\r\n animation: (0, _window.hasWindow)() ? this._getPopupAnimation() : null,\r\n shading: false,\r\n showTitle: false,\r\n focusStateEnabled: false,\r\n container: this._getPopupContainer(),\r\n width: this._getPopupWidth(),\r\n height: this._getPopupHeight(),\r\n maxWidth: this._getPopupMaxWidth(),\r\n maxHeight: this._getPopupMaxHeight(),\r\n minWidth: this._getPopupMinWidth(),\r\n minHeight: this._getPopupMinHeight(),\r\n position: this._getPopupPosition(),\r\n onContentReady: function() {\r\n that._renderPopupContent(that._popup.content())\r\n },\r\n onShowing: function() {\r\n _this._onVisibilityChangingAction({\r\n visible: true,\r\n component: _this\r\n })\r\n },\r\n onShown: function() {\r\n _this.option(\"isVisible\", true);\r\n _this._onVisibilityChangedAction({\r\n visible: true,\r\n component: _this\r\n })\r\n },\r\n onHiding: function() {\r\n _this._onVisibilityChangingAction({\r\n visible: false,\r\n component: _this\r\n })\r\n },\r\n onHidden: function() {\r\n _this.option(\"isVisible\", false);\r\n _this._onVisibilityChangedAction({\r\n visible: false,\r\n component: _this\r\n })\r\n }\r\n }\r\n };\r\n _proto._renderPopupContent = function($parent) {};\r\n _proto._updatePopupVisible = function() {\r\n this._popup.option(\"visible\", this.isVisible())\r\n };\r\n _proto._createOnVisibilityChangingAction = function() {\r\n this._onVisibilityChangingAction = this._createActionByOption(\"onVisibilityChanging\")\r\n };\r\n _proto._createOnVisibilityChangedAction = function() {\r\n this._onVisibilityChangedAction = this._createActionByOption(\"onVisibilityChanged\")\r\n };\r\n _proto._optionChanged = function(args) {\r\n switch (args.name) {\r\n case \"onVisibilityChanging\":\r\n this._createOnVisibilityChangingAction();\r\n break;\r\n case \"onVisibilityChanged\":\r\n this._createOnVisibilityChangedAction();\r\n break;\r\n case \"container\":\r\n this._popup.option(\"container\", this._getPopupContainer());\r\n break;\r\n case \"width\":\r\n this._popup.option(\"width\", this._getPopupWidth());\r\n break;\r\n case \"height\":\r\n this._popup.option(\"height\", this._getPopupHeight());\r\n break;\r\n case \"maxWidth\":\r\n this._popup.option(\"maxWidth\", this._getPopupMaxWidth());\r\n break;\r\n case \"maxHeight\":\r\n this._popup.option(\"maxHeight\", this._getPopupMaxHeight());\r\n break;\r\n case \"minWidth\":\r\n this._popup.option(\"minWidth\", this._getPopupMinWidth());\r\n break;\r\n case \"minHeight\":\r\n this._popup.option(\"minHeight\", this._getPopupMinHeight());\r\n break;\r\n case \"isMobileView\":\r\n this._invalidate();\r\n break;\r\n case \"isVisible\":\r\n this._updatePopupVisible();\r\n break;\r\n default:\r\n _DiagramPanel.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_DiagramPanel.prototype._getDefaultOptions.call(this), {\r\n isVisible: true,\r\n isMobileView: false,\r\n offsetX: 0,\r\n offsetY: 0\r\n })\r\n };\r\n return DiagramFloatingPanel\r\n}(_uiDiagram.default);\r\nvar _default = DiagramFloatingPanel;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/diagram/diagram.items_option.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _component = _interopRequireDefault(require(\"../../core/component\"));\r\nvar _data_helper = _interopRequireDefault(require(\"../../data_helper\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n \"@babel/helpers - typeof\";\r\n if (\"function\" === typeof Symbol && \"symbol\" === typeof Symbol.iterator) {\r\n _typeof = function(obj) {\r\n return typeof obj\r\n }\r\n } else {\r\n _typeof = function(obj) {\r\n return obj && \"function\" === typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }\r\n }\r\n return _typeof(obj)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf || function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar ItemsOption = function(_Component) {\r\n _inheritsLoose(ItemsOption, _Component);\r\n\r\n function ItemsOption(diagramWidget) {\r\n var _this;\r\n _this = _Component.call(this) || this;\r\n _this._diagramWidget = diagramWidget;\r\n _this._resetCache();\r\n return _this\r\n }\r\n var _proto = ItemsOption.prototype;\r\n _proto._dataSourceChangedHandler = function(newItems, e) {\r\n this._resetCache();\r\n this._items = newItems.map(function(item) {\r\n return (0, _extend.extend)(true, {}, item)\r\n });\r\n this._dataSourceItems = newItems.slice();\r\n if (e && e.changes) {\r\n var internalChanges = e.changes.filter(function(change) {\r\n return change.internalChange\r\n });\r\n var externalChanges = e.changes.filter(function(change) {\r\n return !change.internalChange\r\n });\r\n if (internalChanges.length) {\r\n this._reloadContentByChanges(internalChanges, false)\r\n }\r\n if (externalChanges.length) {\r\n this._reloadContentByChanges(externalChanges, true)\r\n }\r\n } else {\r\n this._diagramWidget._onDataSourceChanged()\r\n }\r\n };\r\n _proto._dataSourceLoadingChangedHandler = function(isLoading) {\r\n if (isLoading && !this._dataSource.isLoaded()) {\r\n this._diagramWidget._showLoadingIndicator()\r\n } else {\r\n this._diagramWidget._hideLoadingIndicator()\r\n }\r\n };\r\n _proto._prepareData = function(dataObj) {\r\n for (var key in dataObj) {\r\n if (!Object.prototype.hasOwnProperty.call(dataObj, key)) {\r\n continue\r\n }\r\n if (void 0 === dataObj[key]) {\r\n dataObj[key] = null\r\n }\r\n }\r\n return dataObj\r\n };\r\n _proto.insert = function(data, callback, errorCallback) {\r\n var _this2 = this;\r\n this._resetCache();\r\n var store = this._getStore();\r\n store.insert(this._prepareData(data)).done(function(data, key) {\r\n store.push([{\r\n type: \"insert\",\r\n key: key,\r\n data: data,\r\n internalChange: true\r\n }]);\r\n if (callback) {\r\n callback(data)\r\n }\r\n _this2._resetCache()\r\n }).fail(function(error) {\r\n if (errorCallback) {\r\n errorCallback(error)\r\n }\r\n _this2._resetCache()\r\n })\r\n };\r\n _proto.update = function(key, data, callback, errorCallback) {\r\n var store = this._getStore();\r\n var storeKey = this._getStoreKey(store, key, data);\r\n store.update(storeKey, this._prepareData(data)).done(function(data, key) {\r\n store.push([{\r\n type: \"update\",\r\n key: key,\r\n data: data,\r\n internalChange: true\r\n }]);\r\n if (callback) {\r\n callback(key, data)\r\n }\r\n }).fail(function(error) {\r\n if (errorCallback) {\r\n errorCallback(error)\r\n }\r\n })\r\n };\r\n _proto.remove = function(key, data, callback, errorCallback) {\r\n var _this3 = this;\r\n this._resetCache();\r\n var store = this._getStore();\r\n var storeKey = this._getStoreKey(store, key, data);\r\n store.remove(storeKey).done(function(key) {\r\n store.push([{\r\n type: \"remove\",\r\n key: key,\r\n internalChange: true\r\n }]);\r\n if (callback) {\r\n callback(key)\r\n }\r\n _this3._resetCache()\r\n }).fail(function(error) {\r\n if (errorCallback) {\r\n errorCallback(error)\r\n }\r\n _this3._resetCache()\r\n })\r\n };\r\n _proto.findItem = function(itemKey) {\r\n if (!this._items) {\r\n return null\r\n }\r\n return this._getItemByKey(itemKey)\r\n };\r\n _proto.getItems = function() {\r\n return this._items\r\n };\r\n _proto.hasItems = function() {\r\n return !!this._items\r\n };\r\n _proto._reloadContentByChanges = function(changes, isExternalChanges) {\r\n var _this4 = this;\r\n changes = changes.map(function(change) {\r\n return (0, _extend.extend)(change, {\r\n internalKey: _this4._getInternalKey(change.key)\r\n })\r\n });\r\n this._diagramWidget._reloadContentByChanges(changes, isExternalChanges)\r\n };\r\n _proto._getItemByKey = function(key) {\r\n this._ensureCache();\r\n var cache = this._cache;\r\n var index = this._getIndexByKey(key);\r\n return cache.items[index]\r\n };\r\n _proto._getIndexByKey = function(key) {\r\n this._ensureCache();\r\n var cache = this._cache;\r\n if (\"object\" === _typeof(key)) {\r\n for (var i = 0, length = cache.keys.length; i < length; i++) {\r\n if (cache.keys[i] === key) {\r\n return i\r\n }\r\n }\r\n } else {\r\n var keySet = cache.keySet || cache.keys.reduce(function(accumulator, key, index) {\r\n accumulator[key] = index;\r\n return accumulator\r\n }, {});\r\n if (!cache.keySet) {\r\n cache.keySet = keySet\r\n }\r\n return keySet[key]\r\n }\r\n return -1\r\n };\r\n _proto._ensureCache = function() {\r\n var cache = this._cache;\r\n if (!cache.keys) {\r\n cache.keys = [];\r\n cache.items = [];\r\n this._fillCache(cache, this._items)\r\n }\r\n };\r\n _proto._fillCache = function(cache, items) {\r\n var _this5 = this;\r\n if (!items || !items.length) {\r\n return\r\n }\r\n var keyExpr = this._getKeyExpr();\r\n if (keyExpr) {\r\n items.forEach(function(item) {\r\n cache.keys.push(keyExpr(item));\r\n cache.items.push(item)\r\n })\r\n }\r\n var itemsExpr = this._getItemsExpr();\r\n if (itemsExpr) {\r\n items.forEach(function(item) {\r\n return _this5._fillCache(cache, itemsExpr(item))\r\n })\r\n }\r\n var containerChildrenExpr = this._getContainerChildrenExpr();\r\n if (containerChildrenExpr) {\r\n items.forEach(function(item) {\r\n return _this5._fillCache(cache, containerChildrenExpr(item))\r\n })\r\n }\r\n };\r\n _proto._getKeyExpr = function() {\r\n throw \"Not Implemented\"\r\n };\r\n _proto._getItemsExpr = function() {};\r\n _proto._getContainerChildrenExpr = function() {};\r\n _proto._dataSourceOptions = function() {\r\n return {\r\n paginate: false\r\n }\r\n };\r\n _proto._getStore = function() {\r\n return this._dataSource && this._dataSource.store()\r\n };\r\n _proto._getStoreKey = function(store, internalKey, data) {\r\n var storeKey = store.keyOf(data);\r\n if (storeKey === data) {\r\n var keyExpr = this._getKeyExpr();\r\n this._dataSourceItems.forEach(function(item) {\r\n if (keyExpr(item) === internalKey) {\r\n storeKey = item\r\n }\r\n })\r\n }\r\n return storeKey\r\n };\r\n _proto._getInternalKey = function(storeKey) {\r\n if (\"object\" === _typeof(storeKey)) {\r\n var keyExpr = this._getKeyExpr();\r\n return keyExpr(storeKey)\r\n }\r\n return storeKey\r\n };\r\n _proto._resetCache = function() {\r\n this._cache = {}\r\n };\r\n return ItemsOption\r\n}(_component.default);\r\nItemsOption.include(_data_helper.default);\r\nvar _default = ItemsOption;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/drawer.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _ui = _interopRequireDefault(require(\"./drawer/ui.drawer\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar _default = _ui.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (ui/diagram.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _ui = _interopRequireDefault(require(\"./diagram/ui.diagram\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar _default = _ui.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (ui/diagram/ui.diagram.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n \"@babel/helpers - typeof\";\r\n if (\"function\" === typeof Symbol && \"symbol\" === typeof Symbol.iterator) {\r\n _typeof = function(obj) {\r\n return typeof obj\r\n }\r\n } else {\r\n _typeof = function(obj) {\r\n return obj && \"function\" === typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }\r\n }\r\n return _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _load_indicator = _interopRequireDefault(require(\"../load_indicator\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _data = require(\"../../core/utils/data\");\r\nvar _position = _interopRequireDefault(require(\"../../animation/position\"));\r\nvar _resize_callbacks = _interopRequireDefault(require(\"../../core/utils/resize_callbacks\"));\r\nvar _diagram = require(\"./diagram.importer\");\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _element = require(\"../../core/element\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _number = _interopRequireDefault(require(\"../../localization/number\"));\r\nvar zIndexPool = _interopRequireWildcard(require(\"../overlay/z_index\"));\r\nvar _ui2 = _interopRequireDefault(require(\"../overlay/ui.overlay\"));\r\nvar _uiDiagram = _interopRequireDefault(require(\"./ui.diagram.toolbar\"));\r\nvar _uiDiagram2 = _interopRequireDefault(require(\"./ui.diagram.main_toolbar\"));\r\nvar _uiDiagram3 = _interopRequireDefault(require(\"./ui.diagram.history_toolbar\"));\r\nvar _uiDiagram4 = _interopRequireDefault(require(\"./ui.diagram.view_toolbar\"));\r\nvar _uiDiagram5 = _interopRequireDefault(require(\"./ui.diagram.properties_toolbar\"));\r\nvar _uiDiagram6 = _interopRequireDefault(require(\"./ui.diagram.context_menu\"));\r\nvar _uiDiagram7 = _interopRequireDefault(require(\"./ui.diagram.context_toolbox\"));\r\nvar _uiDiagram8 = _interopRequireDefault(require(\"./ui.diagram.dialogs\"));\r\nvar _uiDiagram9 = _interopRequireDefault(require(\"./ui.diagram.scroll_view\"));\r\nvar _diagram2 = _interopRequireDefault(require(\"./diagram.toolbox_manager\"));\r\nvar _uiDiagram10 = _interopRequireDefault(require(\"./ui.diagram.toolbox\"));\r\nvar _uiDiagram11 = _interopRequireDefault(require(\"./ui.diagram.properties_panel\"));\r\nvar _diagram3 = _interopRequireDefault(require(\"./diagram.options_update\"));\r\nvar _uiDiagram12 = _interopRequireDefault(require(\"./ui.diagram.dialog_manager\"));\r\nvar _diagram4 = _interopRequireDefault(require(\"./diagram.commands_manager\"));\r\nvar _diagram5 = _interopRequireDefault(require(\"./diagram.nodes_option\"));\r\nvar _diagram6 = _interopRequireDefault(require(\"./diagram.edges_option\"));\r\n\r\nfunction _getRequireWildcardCache() {\r\n if (\"function\" !== typeof WeakMap) {\r\n return null\r\n }\r\n var cache = new WeakMap;\r\n _getRequireWildcardCache = function() {\r\n return cache\r\n };\r\n return cache\r\n}\r\n\r\nfunction _interopRequireWildcard(obj) {\r\n if (obj && obj.__esModule) {\r\n return obj\r\n }\r\n if (null === obj || \"object\" !== _typeof(obj) && \"function\" !== typeof obj) {\r\n return {\r\n \"default\": obj\r\n }\r\n }\r\n var cache = _getRequireWildcardCache();\r\n if (cache && cache.has(obj)) {\r\n return cache.get(obj)\r\n }\r\n var newObj = {};\r\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\r\n for (var key in obj) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\r\n if (desc && (desc.get || desc.set)) {\r\n Object.defineProperty(newObj, key, desc)\r\n } else {\r\n newObj[key] = obj[key]\r\n }\r\n }\r\n }\r\n newObj.default = obj;\r\n if (cache) {\r\n cache.set(obj, newObj)\r\n }\r\n return newObj\r\n}\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf || function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar DIAGRAM_CLASS = \"dx-diagram\";\r\nvar DIAGRAM_FULLSCREEN_CLASS = \"dx-diagram-fullscreen\";\r\nvar DIAGRAM_TOOLBAR_WRAPPER_CLASS = DIAGRAM_CLASS + \"-toolbar-wrapper\";\r\nvar DIAGRAM_CONTENT_WRAPPER_CLASS = DIAGRAM_CLASS + \"-content-wrapper\";\r\nvar DIAGRAM_CONTENT_CLASS = DIAGRAM_CLASS + \"-content\";\r\nvar DIAGRAM_SCROLL_VIEW_CLASS = DIAGRAM_CLASS + \"-scroll-view\";\r\nvar DIAGRAM_FLOATING_TOOLBAR_CONTAINER_CLASS = DIAGRAM_CLASS + \"-floating-toolbar-container\";\r\nvar DIAGRAM_PROPERTIES_PANEL_TOOLBAR_CONTAINER_CLASS = DIAGRAM_CLASS + \"-properties-panel-toolbar-container\";\r\nvar DIAGRAM_LOADING_INDICATOR_CLASS = DIAGRAM_CLASS + \"-loading-indicator\";\r\nvar DIAGRAM_FLOATING_PANEL_OFFSET = 12;\r\nvar DIAGRAM_DEFAULT_UNIT = \"in\";\r\nvar DIAGRAM_DEFAULT_ZOOMLEVEL = 1;\r\nvar DIAGRAM_DEFAULT_AUTOZOOM_MODE = \"disabled\";\r\nvar DIAGRAM_DEFAULT_PAGE_ORIENTATION = \"portrait\";\r\nvar DIAGRAM_DEFAULT_PAGE_COLOR = \"#ffffff\";\r\nvar DIAGRAM_MAX_MOBILE_WINDOW_WIDTH = 576;\r\nvar DIAGRAM_TOOLBOX_SHAPE_SPACING = 12;\r\nvar DIAGRAM_TOOLBOX_SHAPES_PER_ROW = 3;\r\nvar DIAGRAM_CONTEXT_TOOLBOX_SHAPE_SPACING = 12;\r\nvar DIAGRAM_CONTEXT_TOOLBOX_SHAPES_PER_ROW = 4;\r\nvar DIAGRAM_CONTEXT_TOOLBOX_DEFAULT_WIDTH = 152;\r\nvar DIAGRAM_NAMESPACE = \"dxDiagramEvent\";\r\nvar FULLSCREEN_CHANGE_EVENT_NAME = (0, _index.addNamespace)(\"fullscreenchange\", DIAGRAM_NAMESPACE);\r\nvar IE_FULLSCREEN_CHANGE_EVENT_NAME = (0, _index.addNamespace)(\"msfullscreenchange\", DIAGRAM_NAMESPACE);\r\nvar WEBKIT_FULLSCREEN_CHANGE_EVENT_NAME = (0, _index.addNamespace)(\"webkitfullscreenchange\", DIAGRAM_NAMESPACE);\r\nvar MOZ_FULLSCREEN_CHANGE_EVENT_NAME = (0, _index.addNamespace)(\"mozfullscreenchange\", DIAGRAM_NAMESPACE);\r\nvar Diagram = function(_Widget) {\r\n _inheritsLoose(Diagram, _Widget);\r\n\r\n function Diagram() {\r\n return _Widget.apply(this, arguments) || this\r\n }\r\n var _proto = Diagram.prototype;\r\n _proto._init = function() {\r\n this._updateDiagramLockCount = 0;\r\n this.toggleFullscreenLock = 0;\r\n this._browserResizeTimer = -1;\r\n this._toolbars = [];\r\n _Widget.prototype._init.call(this);\r\n this._initDiagram();\r\n this._createCustomCommand()\r\n };\r\n _proto._initMarkup = function() {\r\n var _this = this;\r\n _Widget.prototype._initMarkup.call(this);\r\n this._toolbars = [];\r\n delete this._isMobileScreenSize;\r\n var isServerSide = !(0, _window.hasWindow)();\r\n this.$element().addClass(DIAGRAM_CLASS);\r\n delete this._mainToolbar;\r\n if (this.option(\"mainToolbar.visible\")) {\r\n this._renderMainToolbar()\r\n }\r\n var $contentWrapper = (0, _renderer.default)(\"
\").addClass(DIAGRAM_CONTENT_WRAPPER_CLASS).appendTo(this.$element());\r\n delete this._historyToolbar;\r\n delete this._historyToolbarResizeCallback;\r\n if (this._isHistoryToolbarVisible()) {\r\n this._renderHistoryToolbar($contentWrapper)\r\n }\r\n delete this._propertiesToolbar;\r\n delete this._propertiesToolbarResizeCallback;\r\n if (this._isPropertiesPanelEnabled()) {\r\n this._renderPropertiesToolbar($contentWrapper)\r\n }\r\n delete this._viewToolbar;\r\n delete this._viewToolbarResizeCallback;\r\n if (this.option(\"viewToolbar.visible\")) {\r\n this._renderViewToolbar($contentWrapper)\r\n }\r\n delete this._toolbox;\r\n delete this._toolboxResizeCallback;\r\n if (this._isToolboxEnabled()) {\r\n this._renderToolbox($contentWrapper)\r\n }\r\n delete this._propertiesPanel;\r\n delete this._propertiesPanelResizeCallback;\r\n if (this._isPropertiesPanelEnabled()) {\r\n this._renderPropertiesPanel($contentWrapper)\r\n }\r\n this._$content = (0, _renderer.default)(\"
\").addClass(DIAGRAM_CONTENT_CLASS).appendTo($contentWrapper);\r\n delete this._contextMenu;\r\n if (this.option(\"contextMenu.enabled\")) {\r\n this._renderContextMenu($contentWrapper)\r\n }\r\n delete this._contextToolbox;\r\n if (this.option(\"contextToolbox.enabled\")) {\r\n this._renderContextToolbox($contentWrapper)\r\n }\r\n this._renderDialog($contentWrapper);\r\n if (!isServerSide) {\r\n var $scrollViewWrapper = (0, _renderer.default)(\"
\").addClass(DIAGRAM_SCROLL_VIEW_CLASS).appendTo(this._$content);\r\n this._createComponent($scrollViewWrapper, _uiDiagram9.default, {\r\n onCreateDiagram: function(e) {\r\n _this._diagramInstance.createDocument(e.$parent[0], e.scrollView)\r\n }\r\n })\r\n }\r\n if ((0, _window.hasWindow)()) {\r\n _resize_callbacks.default.add(function() {\r\n _this._killBrowserResizeTimer();\r\n _this._browserResizeTimer = setTimeout(function() {\r\n return _this._processBrowserResize()\r\n }, 100)\r\n })\r\n }\r\n this._setCustomCommandChecked(_diagram4.default.SHOW_PROPERTIES_PANEL_COMMAND_NAME, this._isPropertiesPanelVisible());\r\n this._setCustomCommandChecked(_diagram4.default.SHOW_TOOLBOX_COMMAND_NAME, this._isToolboxVisible())\r\n };\r\n _proto._processBrowserResize = function() {\r\n this._isMobileScreenSize = void 0;\r\n this._processDiagramResize();\r\n this._killBrowserResizeTimer()\r\n };\r\n _proto._processDiagramResize = function() {\r\n if (this._historyToolbarResizeCallback) {\r\n this._historyToolbarResizeCallback.call(this)\r\n }\r\n if (this._propertiesToolbarResizeCallback) {\r\n this._propertiesToolbarResizeCallback.call(this)\r\n }\r\n if (this._propertiesPanelResizeCallback) {\r\n this._propertiesPanelResizeCallback.call(this)\r\n }\r\n if (this._viewToolbarResizeCallback) {\r\n this._viewToolbarResizeCallback.call(this)\r\n }\r\n if (this._toolboxResizeCallback) {\r\n this._toolboxResizeCallback.call(this)\r\n }\r\n };\r\n _proto._killBrowserResizeTimer = function() {\r\n if (this._browserResizeTimer > -1) {\r\n clearTimeout(this._browserResizeTimer)\r\n }\r\n this._browserResizeTimer = -1\r\n };\r\n _proto.isMobileScreenSize = function() {\r\n if (void 0 === this._isMobileScreenSize) {\r\n this._isMobileScreenSize = (0, _window.hasWindow)() && this.$element().outerWidth() < DIAGRAM_MAX_MOBILE_WINDOW_WIDTH\r\n }\r\n return this._isMobileScreenSize\r\n };\r\n _proto._captureFocus = function() {\r\n if (this._diagramInstance) {\r\n this._diagramInstance.captureFocus()\r\n }\r\n };\r\n _proto._captureFocusOnTimeout = function() {\r\n var _this2 = this;\r\n this._captureFocusTimeout = setTimeout(function() {\r\n _this2._captureFocus();\r\n delete _this2._captureFocusTimeout\r\n }, 100)\r\n };\r\n _proto._killCaptureFocusTimeout = function() {\r\n if (this._captureFocusTimeout) {\r\n clearTimeout(this._captureFocusTimeout);\r\n delete this._captureFocusTimeout\r\n }\r\n };\r\n _proto.notifyBarCommandExecuted = function() {\r\n this._captureFocusOnTimeout()\r\n };\r\n _proto._registerToolbar = function(component) {\r\n this._registerBar(component);\r\n this._toolbars.push(component)\r\n };\r\n _proto._registerBar = function(component) {\r\n component.bar.onChanged.add(this);\r\n this._diagramInstance.registerBar(component.bar)\r\n };\r\n _proto._getExcludeCommands = function() {\r\n var excludeCommands = [];\r\n if (!this._isToolboxEnabled()) {\r\n excludeCommands.push(_diagram4.default.SHOW_TOOLBOX_COMMAND_NAME)\r\n }\r\n if (!this._isPropertiesPanelEnabled()) {\r\n excludeCommands.push(_diagram4.default.SHOW_PROPERTIES_PANEL_COMMAND_NAME)\r\n }\r\n return excludeCommands\r\n };\r\n _proto._getToolbarBaseOptions = function() {\r\n var _this3 = this;\r\n return {\r\n onContentReady: function(_ref) {\r\n var component = _ref.component;\r\n return _this3._registerToolbar(component)\r\n },\r\n onSubMenuVisibilityChanging: function(_ref2) {\r\n var component = _ref2.component;\r\n return _this3._diagramInstance.updateBarItemsState(component.bar)\r\n },\r\n onPointerUp: this._onPanelPointerUp.bind(this),\r\n \"export\": this.option(\"export\"),\r\n container: this.$element(),\r\n excludeCommands: this._getExcludeCommands(),\r\n onInternalCommand: this._onInternalCommand.bind(this),\r\n onCustomCommand: this._onCustomCommand.bind(this),\r\n isMobileView: this.isMobileScreenSize()\r\n }\r\n };\r\n _proto._onInternalCommand = function(e) {\r\n switch (e.command) {\r\n case _diagram4.default.SHOW_TOOLBOX_COMMAND_NAME:\r\n if (this._toolbox) {\r\n this._toolbox.toggle()\r\n }\r\n break;\r\n case _diagram4.default.SHOW_PROPERTIES_PANEL_COMMAND_NAME:\r\n if (this._propertiesPanel) {\r\n this._propertiesPanel.toggle()\r\n }\r\n }\r\n };\r\n _proto._onCustomCommand = function(e) {\r\n this._customCommandAction({\r\n name: e.name\r\n })\r\n };\r\n _proto._renderMainToolbar = function() {\r\n var $toolbarWrapper = (0, _renderer.default)(\"
\").addClass(DIAGRAM_TOOLBAR_WRAPPER_CLASS).appendTo(this.$element());\r\n this._mainToolbar = this._createComponent($toolbarWrapper, _uiDiagram2.default, (0, _extend.extend)(this._getToolbarBaseOptions(), {\r\n commands: this.option(\"mainToolbar.commands\"),\r\n skipAdjustSize: true\r\n }))\r\n };\r\n _proto._isHistoryToolbarVisible = function() {\r\n return this.option(\"historyToolbar.visible\") && !this.isReadOnlyMode()\r\n };\r\n _proto._renderHistoryToolbar = function($parent) {\r\n var _this4 = this;\r\n var isServerSide = !(0, _window.hasWindow)();\r\n var $container = (0, _renderer.default)(\"
\").addClass(DIAGRAM_FLOATING_TOOLBAR_CONTAINER_CLASS).appendTo($parent);\r\n this._historyToolbar = this._createComponent($container, _uiDiagram3.default, (0, _extend.extend)(this._getToolbarBaseOptions(), {\r\n commands: this.option(\"historyToolbar.commands\"),\r\n locateInMenu: \"never\"\r\n }));\r\n this._updateHistoryToolbarPosition($container, $parent, isServerSide);\r\n this._historyToolbarResizeCallback = function() {\r\n _this4._historyToolbar.option(\"isMobileView\", _this4.isMobileScreenSize())\r\n }\r\n };\r\n _proto._updateHistoryToolbarPosition = function($container, $parent, isServerSide) {\r\n if (isServerSide) {\r\n return\r\n }\r\n _position.default.setup($container, {\r\n my: \"left top\",\r\n at: \"left top\",\r\n of: $parent,\r\n offset: DIAGRAM_FLOATING_PANEL_OFFSET + \" \" + DIAGRAM_FLOATING_PANEL_OFFSET\r\n })\r\n };\r\n _proto._isToolboxEnabled = function() {\r\n return \"disabled\" !== this.option(\"toolbox.visibility\") && !this.isReadOnlyMode()\r\n };\r\n _proto._isToolboxVisible = function() {\r\n return \"visible\" === this.option(\"toolbox.visibility\") || \"auto\" === this.option(\"toolbox.visibility\") && !this.isMobileScreenSize()\r\n };\r\n _proto._renderToolbox = function($parent) {\r\n var _this5 = this;\r\n var isServerSide = !(0, _window.hasWindow)();\r\n var $toolBox = (0, _renderer.default)(\"
\").appendTo($parent);\r\n var bounds = this._getToolboxBounds($parent, isServerSide);\r\n this._toolbox = this._createComponent($toolBox, _uiDiagram10.default, {\r\n isMobileView: this.isMobileScreenSize(),\r\n isVisible: this._isToolboxVisible(),\r\n container: this.$element(),\r\n height: bounds.height,\r\n offsetParent: $parent,\r\n offsetX: bounds.offsetX,\r\n offsetY: bounds.offsetY,\r\n showSearch: this.option(\"toolbox.showSearch\"),\r\n toolboxGroups: this._getToolboxGroups(),\r\n toolboxWidth: this.option(\"toolbox.width\"),\r\n onShapeCategoryRendered: function(e) {\r\n if (isServerSide) {\r\n return\r\n }\r\n _this5._diagramInstance.createToolbox(e.$element[0], \"texts\" === e.displayMode, e.shapes || e.category, {\r\n shapeIconSpacing: DIAGRAM_TOOLBOX_SHAPE_SPACING,\r\n shapeIconCountInRow: _this5.option(\"toolbox.shapeIconsPerRow\"),\r\n shapeIconAttributes: {\r\n \"data-toggle\": e.dataToggle\r\n }\r\n })\r\n },\r\n onFilterChanged: function(e) {\r\n if (isServerSide) {\r\n return\r\n }\r\n _this5._diagramInstance.applyToolboxFilter(e.text, e.filteringToolboxes)\r\n },\r\n onVisibilityChanging: function(e) {\r\n if (isServerSide) {\r\n return\r\n }\r\n _this5._setCustomCommandChecked(_diagram4.default.SHOW_TOOLBOX_COMMAND_NAME, e.visible);\r\n if (_this5._propertiesPanel) {\r\n if (e.visible && _this5.isMobileScreenSize()) {\r\n _this5._propertiesPanel.hide()\r\n }\r\n }\r\n if (_this5._historyToolbar) {\r\n if (e.visible && _this5.isMobileScreenSize()) {\r\n _this5._historyToolbarZIndex = zIndexPool.create(_ui2.default.baseZIndex());\r\n _this5._historyToolbar.$element().css(\"zIndex\", _this5._historyToolbarZIndex);\r\n _this5._historyToolbar.$element().css(\"boxShadow\", \"none\")\r\n }\r\n }\r\n if (_this5._viewToolbar) {\r\n _this5._viewToolbar.$element().css(\"opacity\", e.visible && _this5.isMobileScreenSize() ? \"0\" : \"1\");\r\n _this5._viewToolbar.$element().css(\"pointerEvents\", e.visible && _this5.isMobileScreenSize() ? \"none\" : \"\")\r\n }\r\n },\r\n onVisibilityChanged: function(e) {\r\n if (!e.visible && !_this5._textInputStarted) {\r\n _this5._captureFocus()\r\n }\r\n if (!isServerSide) {\r\n if (_this5._historyToolbar) {\r\n if (!e.visible && _this5.isMobileScreenSize() && _this5._historyToolbarZIndex) {\r\n zIndexPool.remove(_this5._historyToolbarZIndex);\r\n _this5._historyToolbar.$element().css(\"zIndex\", \"\");\r\n _this5._historyToolbar.$element().css(\"boxShadow\", \"\");\r\n _this5._historyToolbarZIndex = void 0\r\n }\r\n }\r\n }\r\n },\r\n onPointerUp: this._onPanelPointerUp.bind(this)\r\n });\r\n this._toolboxResizeCallback = function() {\r\n var bounds = _this5._getToolboxBounds($parent, isServerSide);\r\n _this5._toolbox.option(\"height\", bounds.height);\r\n var prevIsMobileView = _this5._toolbox.option(\"isMobileView\");\r\n if (prevIsMobileView !== _this5.isMobileScreenSize()) {\r\n _this5._toolbox.option({\r\n isMobileView: _this5.isMobileScreenSize(),\r\n isVisible: _this5._isToolboxVisible()\r\n });\r\n _this5._setCustomCommandChecked(_diagram4.default.SHOW_TOOLBOX_COMMAND_NAME, _this5._isToolboxVisible())\r\n }\r\n _this5._toolbox.updateMaxHeight()\r\n }\r\n };\r\n _proto._getToolboxBounds = function($parent, isServerSide) {\r\n var result = {\r\n offsetX: DIAGRAM_FLOATING_PANEL_OFFSET,\r\n offsetY: DIAGRAM_FLOATING_PANEL_OFFSET,\r\n height: !isServerSide ? $parent.height() - 2 * DIAGRAM_FLOATING_PANEL_OFFSET : 0\r\n };\r\n if (this._historyToolbar && !isServerSide) {\r\n result.offsetY += this._historyToolbar.$element().outerHeight() + DIAGRAM_FLOATING_PANEL_OFFSET;\r\n result.height -= this._historyToolbar.$element().outerHeight() + DIAGRAM_FLOATING_PANEL_OFFSET\r\n }\r\n if (this._viewToolbar && !isServerSide) {\r\n result.height -= this._viewToolbar.$element().outerHeight() + this._getViewToolbarYOffset(isServerSide)\r\n }\r\n return result\r\n };\r\n _proto._renderViewToolbar = function($parent) {\r\n var _this6 = this;\r\n var isServerSide = !(0, _window.hasWindow)();\r\n var $container = (0, _renderer.default)(\"
\").addClass(DIAGRAM_FLOATING_TOOLBAR_CONTAINER_CLASS).appendTo($parent);\r\n this._viewToolbar = this._createComponent($container, _uiDiagram4.default, (0, _extend.extend)(this._getToolbarBaseOptions(), {\r\n commands: this.option(\"viewToolbar.commands\"),\r\n locateInMenu: \"never\"\r\n }));\r\n this._updateViewToolbarPosition($container, $parent, isServerSide);\r\n this._viewToolbarResizeCallback = function() {\r\n _this6._updateViewToolbarPosition($container, $parent, isServerSide)\r\n }\r\n };\r\n _proto._getViewToolbarYOffset = function(isServerSide) {\r\n if (isServerSide) {\r\n return\r\n }\r\n var result = DIAGRAM_FLOATING_PANEL_OFFSET;\r\n if (this._viewToolbar && this._propertiesToolbar) {\r\n result += (this._propertiesToolbar.$element().outerHeight() - this._viewToolbar.$element().outerHeight()) / 2\r\n }\r\n return result\r\n };\r\n _proto._updateViewToolbarPosition = function($container, $parent, isServerSide) {\r\n if (isServerSide) {\r\n return\r\n }\r\n _position.default.setup($container, {\r\n my: \"left bottom\",\r\n at: \"left bottom\",\r\n of: $parent,\r\n offset: DIAGRAM_FLOATING_PANEL_OFFSET + \" -\" + this._getViewToolbarYOffset(isServerSide)\r\n })\r\n };\r\n _proto._isPropertiesPanelEnabled = function() {\r\n return \"disabled\" !== this.option(\"propertiesPanel.visibility\") && !this.isReadOnlyMode()\r\n };\r\n _proto._isPropertiesPanelVisible = function() {\r\n return \"visible\" === this.option(\"propertiesPanel.visibility\")\r\n };\r\n _proto._renderPropertiesToolbar = function($parent) {\r\n var _this7 = this;\r\n var isServerSide = !(0, _window.hasWindow)();\r\n var $container = (0, _renderer.default)(\"
\").addClass(DIAGRAM_FLOATING_TOOLBAR_CONTAINER_CLASS).addClass(DIAGRAM_PROPERTIES_PANEL_TOOLBAR_CONTAINER_CLASS).appendTo($parent);\r\n this._propertiesToolbar = this._createComponent($container, _uiDiagram5.default, (0, _extend.extend)(this._getToolbarBaseOptions(), {\r\n buttonStylingMode: \"contained\",\r\n buttonType: \"default\",\r\n locateInMenu: \"never\"\r\n }));\r\n this._updatePropertiesToolbarPosition($container, $parent, isServerSide);\r\n this._propertiesToolbarResizeCallback = function() {\r\n _this7._updatePropertiesToolbarPosition($container, $parent, isServerSide)\r\n }\r\n };\r\n _proto._updatePropertiesToolbarPosition = function($container, $parent, isServerSide) {\r\n if (isServerSide) {\r\n return\r\n }\r\n _position.default.setup($container, {\r\n my: \"right bottom\",\r\n at: \"right bottom\",\r\n of: $parent,\r\n offset: \"-\" + DIAGRAM_FLOATING_PANEL_OFFSET + \" -\" + DIAGRAM_FLOATING_PANEL_OFFSET\r\n })\r\n };\r\n _proto._renderPropertiesPanel = function($parent) {\r\n var _this8 = this;\r\n var isServerSide = !(0, _window.hasWindow)();\r\n var $propertiesPanel = (0, _renderer.default)(\"
\").appendTo($parent);\r\n var offsetX = DIAGRAM_FLOATING_PANEL_OFFSET;\r\n var offsetY = 2 * DIAGRAM_FLOATING_PANEL_OFFSET + (!isServerSide ? this._propertiesToolbar.$element().outerHeight() : 0);\r\n this._propertiesPanel = this._createComponent($propertiesPanel, _uiDiagram11.default, {\r\n isMobileView: this.isMobileScreenSize(),\r\n isVisible: this._isPropertiesPanelVisible(),\r\n container: this.$element(),\r\n offsetParent: $parent,\r\n offsetX: offsetX,\r\n offsetY: offsetY,\r\n propertyTabs: this.option(\"propertiesPanel.tabs\"),\r\n onCreateToolbar: function(e) {\r\n e.toolbar = _this8._createComponent(e.$parent, _uiDiagram.default, (0, _extend.extend)(_this8._getToolbarBaseOptions(), {\r\n commands: e.commands,\r\n locateInMenu: \"never\",\r\n editorStylingMode: \"outlined\"\r\n }))\r\n },\r\n onVisibilityChanging: function(e) {\r\n if (isServerSide) {\r\n return\r\n }\r\n _this8._updatePropertiesPanelGroupBars(e.component);\r\n _this8._setCustomCommandChecked(_diagram4.default.SHOW_PROPERTIES_PANEL_COMMAND_NAME, e.visible);\r\n if (_this8._toolbox) {\r\n if (e.visible && _this8.isMobileScreenSize()) {\r\n _this8._toolbox.hide()\r\n }\r\n }\r\n },\r\n onVisibilityChanged: function(e) {\r\n if (!e.visible && !_this8._textInputStarted) {\r\n _this8._captureFocus()\r\n }\r\n },\r\n onSelectedGroupChanged: function(_ref3) {\r\n var component = _ref3.component;\r\n return _this8._updatePropertiesPanelGroupBars(component)\r\n },\r\n onPointerUp: this._onPanelPointerUp.bind(this)\r\n });\r\n this._propertiesPanelResizeCallback = function() {\r\n var prevIsMobileView = _this8._propertiesPanel.option(\"isMobileView\");\r\n if (prevIsMobileView !== _this8.isMobileScreenSize()) {\r\n _this8._propertiesPanel.option({\r\n isMobileView: _this8.isMobileScreenSize(),\r\n isVisible: _this8._isPropertiesPanelVisible()\r\n });\r\n _this8._setCustomCommandChecked(_diagram4.default.SHOW_PROPERTIES_PANEL_COMMAND_NAME, _this8._isPropertiesPanelVisible())\r\n }\r\n }\r\n };\r\n _proto._updatePropertiesPanelGroupBars = function(component) {\r\n var _this9 = this;\r\n component.getActiveToolbars().forEach(function(toolbar) {\r\n _this9._diagramInstance.updateBarItemsState(toolbar.bar)\r\n })\r\n };\r\n _proto._onPanelPointerUp = function() {\r\n this._captureFocusOnTimeout()\r\n };\r\n _proto._renderContextMenu = function($parent) {\r\n var _this10 = this;\r\n var $contextMenu = (0, _renderer.default)(\"
\").appendTo($parent);\r\n this._contextMenu = this._createComponent($contextMenu, _uiDiagram6.default.DiagramContextMenuWrapper, {\r\n commands: this.option(\"contextMenu.commands\"),\r\n onContentReady: function(_ref4) {\r\n var component = _ref4.component;\r\n return _this10._registerBar(component)\r\n },\r\n onVisibilityChanging: function(_ref5) {\r\n var component = _ref5.component;\r\n return _this10._diagramInstance.updateBarItemsState(component.bar)\r\n },\r\n onItemClick: function(itemData) {\r\n return _this10._onBeforeCommandExecuted(itemData.command)\r\n },\r\n \"export\": this.option(\"export\"),\r\n excludeCommands: this._getExcludeCommands(),\r\n onInternalCommand: this._onInternalCommand.bind(this),\r\n onCustomCommand: this._onCustomCommand.bind(this)\r\n })\r\n };\r\n _proto._renderContextToolbox = function($parent) {\r\n var _this11 = this;\r\n var isServerSide = !(0, _window.hasWindow)();\r\n var category = this.option(\"contextToolbox.category\");\r\n var displayMode = this.option(\"contextToolbox.displayMode\");\r\n var shapes = this.option(\"contextToolbox.shapes\");\r\n var $contextToolbox = (0, _renderer.default)(\"
\").appendTo($parent);\r\n this._contextToolbox = this._createComponent($contextToolbox, _uiDiagram7.default, {\r\n toolboxWidth: this.option(\"contextToolbox.width\"),\r\n onShown: function(e) {\r\n if (isServerSide) {\r\n return\r\n }\r\n var $toolboxContainer = (0, _renderer.default)(e.$element);\r\n var isTextGroup = \"texts\" === displayMode;\r\n if (!shapes && !category && !isTextGroup) {\r\n var group = _this11._getToolboxGroups().filter(function(g) {\r\n return g.category === e.category\r\n })[0];\r\n if (group) {\r\n isTextGroup = \"texts\" === group.displayMode\r\n }\r\n }\r\n _this11._diagramInstance.createContextToolbox($toolboxContainer[0], isTextGroup, shapes || category || e.category, {\r\n shapeIconSpacing: DIAGRAM_CONTEXT_TOOLBOX_SHAPE_SPACING,\r\n shapeIconCountInRow: _this11.option(\"contextToolbox.shapeIconsPerRow\")\r\n }, function(shapeType) {\r\n e.callback(shapeType);\r\n _this11._captureFocus();\r\n e.hide()\r\n })\r\n }\r\n })\r\n };\r\n _proto._setCustomCommandChecked = function(command, checked) {\r\n this._toolbars.forEach(function(tb) {\r\n tb.setCommandChecked(command, checked)\r\n })\r\n };\r\n _proto._onBeforeCommandExecuted = function(command) {\r\n var dialogParameters = _uiDiagram12.default.getDialogParameters(command);\r\n if (dialogParameters) {\r\n this._showDialog(dialogParameters)\r\n }\r\n return !!dialogParameters\r\n };\r\n _proto._renderDialog = function($parent) {\r\n var $dialogElement = (0, _renderer.default)(\"
\").appendTo($parent);\r\n this._dialogInstance = this._createComponent($dialogElement, _uiDiagram8.default, {})\r\n };\r\n _proto._showDialog = function(dialogParameters) {\r\n if (this._dialogInstance) {\r\n this._dialogInstance.option(\"onGetContent\", dialogParameters.onGetContent);\r\n this._dialogInstance.option(\"onHidden\", function() {\r\n this._captureFocus()\r\n }.bind(this));\r\n this._dialogInstance.option(\"command\", this._diagramInstance.getCommand(dialogParameters.command));\r\n this._dialogInstance.option(\"title\", dialogParameters.title);\r\n this._dialogInstance._show()\r\n }\r\n };\r\n _proto._showLoadingIndicator = function() {\r\n this._loadingIndicator = (0, _renderer.default)(\"
\").addClass(DIAGRAM_LOADING_INDICATOR_CLASS);\r\n this._createComponent(this._loadingIndicator, _load_indicator.default, {});\r\n var $parent = this._$content || this.$element();\r\n $parent.append(this._loadingIndicator)\r\n };\r\n _proto._hideLoadingIndicator = function() {\r\n if (!this._loadingIndicator) {\r\n return\r\n }\r\n this._loadingIndicator.remove();\r\n this._loadingIndicator = null\r\n };\r\n _proto._initDiagram = function() {\r\n var _getDiagram = (0, _diagram.getDiagram)(),\r\n DiagramControl = _getDiagram.DiagramControl;\r\n this._diagramInstance = new DiagramControl;\r\n this._diagramInstance.onChanged = this._raiseDataChangeAction.bind(this);\r\n this._diagramInstance.onEdgeInserted = this._raiseEdgeInsertedAction.bind(this);\r\n this._diagramInstance.onEdgeUpdated = this._raiseEdgeUpdatedAction.bind(this);\r\n this._diagramInstance.onEdgeRemoved = this._raiseEdgeRemovedAction.bind(this);\r\n this._diagramInstance.onNodeInserted = this._raiseNodeInsertedAction.bind(this);\r\n this._diagramInstance.onNodeUpdated = this._raiseNodeUpdatedAction.bind(this);\r\n this._diagramInstance.onNodeRemoved = this._raiseNodeRemovedAction.bind(this);\r\n this._diagramInstance.onToolboxDragStart = this._raiseToolboxDragStart.bind(this);\r\n this._diagramInstance.onToolboxDragEnd = this._raiseToolboxDragEnd.bind(this);\r\n this._diagramInstance.onTextInputStart = this._raiseTextInputStart.bind(this);\r\n this._diagramInstance.onTextInputEnd = this._raiseTextInputEnd.bind(this);\r\n this._diagramInstance.onToggleFullscreen = this._onToggleFullScreen.bind(this);\r\n this._diagramInstance.onShowContextMenu = this._onShowContextMenu.bind(this);\r\n this._diagramInstance.onHideContextMenu = this._onHideContextMenu.bind(this);\r\n this._diagramInstance.onShowContextToolbox = this._onShowContextToolbox.bind(this);\r\n this._diagramInstance.onHideContextToolbox = this._onHideContextToolbox.bind(this);\r\n this._diagramInstance.onNativeAction.add({\r\n notifyItemClick: this._raiseItemClickAction.bind(this),\r\n notifyItemDblClick: this._raiseItemDblClickAction.bind(this),\r\n notifySelectionChanged: this._raiseSelectionChanged.bind(this)\r\n });\r\n this._diagramInstance.onRequestOperation = this._raiseRequestEditOperation.bind(this);\r\n this._updateEventSubscriptionMethods();\r\n this._updateDefaultItemProperties();\r\n this._updateEditingSettings();\r\n this._updateShapeTexts();\r\n this._updateUnitItems();\r\n this._updateFormatUnitsMethod();\r\n if (this.option(\"units\") !== DIAGRAM_DEFAULT_UNIT) {\r\n this._updateUnitsState()\r\n }\r\n if (this.isReadOnlyMode()) {\r\n this._updateReadOnlyState()\r\n }\r\n if (this.option(\"pageSize\")) {\r\n if (this.option(\"pageSize.items\")) {\r\n this._updatePageSizeItemsState()\r\n }\r\n if (this.option(\"pageSize.width\") && this.option(\"pageSize.height\")) {\r\n this._updatePageSizeState()\r\n }\r\n }\r\n if (this.option(\"pageOrientation\") !== DIAGRAM_DEFAULT_PAGE_ORIENTATION) {\r\n this._updatePageOrientationState()\r\n }\r\n if (this.option(\"pageColor\") !== DIAGRAM_DEFAULT_PAGE_COLOR) {\r\n this._updatePageColorState()\r\n }\r\n if (this.option(\"viewUnits\") !== DIAGRAM_DEFAULT_UNIT) {\r\n this._updateViewUnitsState()\r\n }\r\n if (!this.option(\"showGrid\")) {\r\n this._updateShowGridState()\r\n }\r\n if (!this.option(\"snapToGrid\")) {\r\n this._updateSnapToGridState()\r\n }\r\n if (this.option(\"gridSize\")) {\r\n this._updateGridSizeState()\r\n }\r\n if (this.option(\"zoomLevel\") !== DIAGRAM_DEFAULT_ZOOMLEVEL) {\r\n this._updateZoomLevelState()\r\n }\r\n if (this.option(\"simpleView\")) {\r\n this._updateSimpleViewState()\r\n }\r\n if (this.option(\"autoZoomMode\") !== DIAGRAM_DEFAULT_AUTOZOOM_MODE) {\r\n this._updateAutoZoomState()\r\n }\r\n if (this.option(\"fullScreen\")) {\r\n var window = (0, _window.getWindow)();\r\n if (window && window.self !== window.top) {\r\n this.option(\"fullScreen\", false)\r\n } else {\r\n this._updateFullscreenState()\r\n }\r\n }\r\n this.optionsUpdateBar = new _diagram3.default(this);\r\n this._diagramInstance.registerBar(this.optionsUpdateBar);\r\n if ((0, _window.hasWindow)()) {\r\n this._diagramInstance.initMeasurer(this.$element()[0])\r\n }\r\n this._updateCustomShapes(this._getCustomShapes());\r\n this._refreshDataSources()\r\n };\r\n _proto._clean = function() {\r\n if (this._diagramInstance) {\r\n this._diagramInstance.cleanMarkup(function(element) {\r\n (0, _renderer.default)(element).empty()\r\n })\r\n }\r\n _Widget.prototype._clean.call(this)\r\n };\r\n _proto._dispose = function() {\r\n this._killCaptureFocusTimeout();\r\n _Widget.prototype._dispose.call(this);\r\n this._diagramInstance = void 0\r\n };\r\n _proto._executeDiagramCommand = function(command, parameter) {\r\n this._diagramInstance.getCommand(command).execute(parameter)\r\n };\r\n _proto.getNodeDataSource = function() {\r\n return this._nodesOption && this._nodesOption.getDataSource()\r\n };\r\n _proto.getEdgeDataSource = function() {\r\n return this._edgesOption && this._edgesOption.getDataSource()\r\n };\r\n _proto._refreshDataSources = function() {\r\n this._beginUpdateDiagram();\r\n this._refreshNodesDataSource();\r\n this._refreshEdgesDataSource();\r\n this._endUpdateDiagram()\r\n };\r\n _proto._refreshNodesDataSource = function() {\r\n if (this._nodesOption) {\r\n this._nodesOption._disposeDataSource();\r\n delete this._nodesOption\r\n }\r\n if (this.option(\"nodes.dataSource\")) {\r\n this._nodesOption = new _diagram5.default(this);\r\n this._nodesOption.option(\"dataSource\", this.option(\"nodes.dataSource\"));\r\n this._nodesOption._refreshDataSource()\r\n }\r\n };\r\n _proto._refreshEdgesDataSource = function() {\r\n if (this._edgesOption) {\r\n this._edgesOption._disposeDataSource();\r\n delete this._edgesOption\r\n }\r\n if (this.option(\"edges.dataSource\")) {\r\n this._edgesOption = new _diagram6.default(this);\r\n this._edgesOption.option(\"dataSource\", this.option(\"edges.dataSource\"));\r\n this._edgesOption._refreshDataSource()\r\n }\r\n };\r\n _proto._getDiagramData = function() {\r\n var value;\r\n var _getDiagram2 = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram2.DiagramCommand;\r\n this._executeDiagramCommand(DiagramCommand.Export, function(data) {\r\n value = data\r\n });\r\n return value\r\n };\r\n _proto._setDiagramData = function(data, keepExistingItems) {\r\n var _getDiagram3 = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram3.DiagramCommand;\r\n this._executeDiagramCommand(DiagramCommand.Import, {\r\n data: data,\r\n keepExistingItems: keepExistingItems\r\n })\r\n };\r\n _proto.isReadOnlyMode = function() {\r\n return this.option(\"readOnly\") || this.option(\"disabled\")\r\n };\r\n _proto._onDataSourceChanged = function() {\r\n this._bindDiagramData()\r\n };\r\n _proto._getChangesKeys = function(changes) {\r\n return changes.map(function(change) {\r\n return change.internalKey || change.key\r\n }).filter(function(key) {\r\n return !!key\r\n })\r\n };\r\n _proto._createOptionGetter = function(optionName) {\r\n var expr = this.option(optionName);\r\n return expr && (0, _data.compileGetter)(expr)\r\n };\r\n _proto._onRequestUpdateLayout = function(changes) {\r\n if (!this._requestLayoutUpdateAction) {\r\n this._createRequestLayoutUpdateAction()\r\n }\r\n var eventArgs = {\r\n changes: changes,\r\n allowed: false\r\n };\r\n this._requestLayoutUpdateAction(eventArgs);\r\n return eventArgs.allowed\r\n };\r\n _proto._createOptionSetter = function(optionName) {\r\n var expr = this.option(optionName);\r\n if ((0, _type.isFunction)(expr)) {\r\n return expr\r\n }\r\n return expr && (0, _data.compileSetter)(expr)\r\n };\r\n _proto._bindDiagramData = function() {\r\n if (this._updateDiagramLockCount || !this._isBindingMode()) {\r\n return\r\n }\r\n var _getDiagram4 = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram4.DiagramCommand,\r\n ConnectorLineOption = _getDiagram4.ConnectorLineOption,\r\n ConnectorLineEnding = _getDiagram4.ConnectorLineEnding;\r\n var lineOptionGetter;\r\n var lineOptionSetter;\r\n var startLineEndingGetter;\r\n var startLineEndingSetter;\r\n var endLineEndingGetter;\r\n var endLineEndingSetter;\r\n var containerKeyGetter;\r\n var containerKeySetter;\r\n var data = {\r\n nodeDataSource: this._nodesOption && this._nodesOption.getItems(),\r\n edgeDataSource: this._edgesOption && this._edgesOption.getItems(),\r\n nodeDataImporter: {\r\n getKey: this._createOptionGetter(\"nodes.keyExpr\"),\r\n setKey: this._createOptionSetter(\"nodes.keyExpr\"),\r\n getCustomData: this._createOptionGetter(\"nodes.customDataExpr\"),\r\n setCustomData: this._createOptionSetter(\"nodes.customDataExpr\"),\r\n getLocked: this._createOptionGetter(\"nodes.lockedExpr\"),\r\n setLocked: this._createOptionSetter(\"nodes.lockedExpr\"),\r\n getStyle: this._createOptionGetter(\"nodes.styleExpr\"),\r\n setStyle: this._createOptionSetter(\"nodes.styleExpr\"),\r\n getStyleText: this._createOptionGetter(\"nodes.textStyleExpr\"),\r\n setStyleText: this._createOptionSetter(\"nodes.textStyleExpr\"),\r\n getZIndex: this._createOptionGetter(\"nodes.zIndexExpr\"),\r\n setZIndex: this._createOptionSetter(\"nodes.zIndexExpr\"),\r\n getType: this._createOptionGetter(\"nodes.typeExpr\"),\r\n setType: this._createOptionSetter(\"nodes.typeExpr\"),\r\n getText: this._createOptionGetter(\"nodes.textExpr\"),\r\n setText: this._createOptionSetter(\"nodes.textExpr\"),\r\n getImage: this._createOptionGetter(\"nodes.imageUrlExpr\"),\r\n setImage: this._createOptionSetter(\"nodes.imageUrlExpr\"),\r\n getLeft: this._createOptionGetter(\"nodes.leftExpr\"),\r\n setLeft: this._createOptionSetter(\"nodes.leftExpr\"),\r\n getTop: this._createOptionGetter(\"nodes.topExpr\"),\r\n setTop: this._createOptionSetter(\"nodes.topExpr\"),\r\n getWidth: this._createOptionGetter(\"nodes.widthExpr\"),\r\n setWidth: this._createOptionSetter(\"nodes.widthExpr\"),\r\n getHeight: this._createOptionGetter(\"nodes.heightExpr\"),\r\n setHeight: this._createOptionSetter(\"nodes.heightExpr\"),\r\n getParentKey: this._createOptionGetter(\"nodes.parentKeyExpr\"),\r\n setParentKey: this._createOptionSetter(\"nodes.parentKeyExpr\"),\r\n getItems: this._createOptionGetter(\"nodes.itemsExpr\"),\r\n setItems: this._createOptionSetter(\"nodes.itemsExpr\"),\r\n getContainerKey: containerKeyGetter = this._createOptionGetter(\"nodes.containerKeyExpr\"),\r\n setContainerKey: containerKeySetter = this._createOptionSetter(\"nodes.containerKeyExpr\"),\r\n getChildren: !containerKeyGetter && !containerKeySetter && this._createOptionGetter(\"nodes.containerChildrenExpr\"),\r\n setChildren: !containerKeyGetter && !containerKeySetter && this._createOptionSetter(\"nodes.containerChildrenExpr\")\r\n },\r\n edgeDataImporter: {\r\n getKey: this._createOptionGetter(\"edges.keyExpr\"),\r\n setKey: this._createOptionSetter(\"edges.keyExpr\"),\r\n getCustomData: this._createOptionGetter(\"edges.customDataExpr\"),\r\n setCustomData: this._createOptionSetter(\"edges.customDataExpr\"),\r\n getLocked: this._createOptionGetter(\"edges.lockedExpr\"),\r\n setLocked: this._createOptionSetter(\"edges.lockedExpr\"),\r\n getStyle: this._createOptionGetter(\"edges.styleExpr\"),\r\n setStyle: this._createOptionSetter(\"edges.styleExpr\"),\r\n getStyleText: this._createOptionGetter(\"edges.textStyleExpr\"),\r\n setStyleText: this._createOptionSetter(\"edges.textStyleExpr\"),\r\n getZIndex: this._createOptionGetter(\"edges.zIndexExpr\"),\r\n setZIndex: this._createOptionSetter(\"edges.zIndexExpr\"),\r\n getFrom: this._createOptionGetter(\"edges.fromExpr\"),\r\n setFrom: this._createOptionSetter(\"edges.fromExpr\"),\r\n getFromPointIndex: this._createOptionGetter(\"edges.fromPointIndexExpr\"),\r\n setFromPointIndex: this._createOptionSetter(\"edges.fromPointIndexExpr\"),\r\n getTo: this._createOptionGetter(\"edges.toExpr\"),\r\n setTo: this._createOptionSetter(\"edges.toExpr\"),\r\n getToPointIndex: this._createOptionGetter(\"edges.toPointIndexExpr\"),\r\n setToPointIndex: this._createOptionSetter(\"edges.toPointIndexExpr\"),\r\n getPoints: this._createOptionGetter(\"edges.pointsExpr\"),\r\n setPoints: this._createOptionSetter(\"edges.pointsExpr\"),\r\n getText: this._createOptionGetter(\"edges.textExpr\"),\r\n setText: this._createOptionSetter(\"edges.textExpr\"),\r\n getLineOption: (lineOptionGetter = this._createOptionGetter(\"edges.lineTypeExpr\")) && function(obj) {\r\n var lineType = lineOptionGetter(obj);\r\n return this._getConnectorLineOption(lineType)\r\n }.bind(this),\r\n setLineOption: (lineOptionSetter = this._createOptionSetter(\"edges.lineTypeExpr\")) && function(obj, value) {\r\n switch (value) {\r\n case ConnectorLineOption.Straight:\r\n value = \"straight\";\r\n break;\r\n case ConnectorLineOption.Orthogonal:\r\n value = \"orthogonal\"\r\n }\r\n lineOptionSetter(obj, value)\r\n }.bind(this),\r\n getStartLineEnding: (startLineEndingGetter = this._createOptionGetter(\"edges.fromLineEndExpr\")) && function(obj) {\r\n var lineEnd = startLineEndingGetter(obj);\r\n return this._getConnectorLineEnding(lineEnd)\r\n }.bind(this),\r\n setStartLineEnding: (startLineEndingSetter = this._createOptionSetter(\"edges.fromLineEndExpr\")) && function(obj, value) {\r\n switch (value) {\r\n case ConnectorLineEnding.Arrow:\r\n value = \"arrow\";\r\n break;\r\n case ConnectorLineEnding.OutlinedTriangle:\r\n value = \"outlinedTriangle\";\r\n break;\r\n case ConnectorLineEnding.FilledTriangle:\r\n value = \"filledTriangle\";\r\n break;\r\n case ConnectorLineEnding.None:\r\n value = \"none\"\r\n }\r\n startLineEndingSetter(obj, value)\r\n }.bind(this),\r\n getEndLineEnding: (endLineEndingGetter = this._createOptionGetter(\"edges.toLineEndExpr\")) && function(obj) {\r\n var lineEnd = endLineEndingGetter(obj);\r\n return this._getConnectorLineEnding(lineEnd)\r\n }.bind(this),\r\n setEndLineEnding: (endLineEndingSetter = this._createOptionSetter(\"edges.toLineEndExpr\")) && function(obj, value) {\r\n switch (value) {\r\n case ConnectorLineEnding.Arrow:\r\n value = \"arrow\";\r\n break;\r\n case ConnectorLineEnding.OutlinedTriangle:\r\n value = \"outlinedTriangle\";\r\n break;\r\n case ConnectorLineEnding.FilledTriangle:\r\n value = \"filledTriangle\";\r\n break;\r\n case ConnectorLineEnding.None:\r\n value = \"none\"\r\n }\r\n endLineEndingSetter(obj, value)\r\n }.bind(this)\r\n },\r\n layoutParameters: this._getDataBindingLayoutParameters()\r\n };\r\n this._executeDiagramCommand(DiagramCommand.BindDocument, data)\r\n };\r\n _proto._reloadContentByChanges = function(changes, isExternalChanges) {\r\n var keys = this._getChangesKeys(changes);\r\n var applyLayout = this._onRequestUpdateLayout(changes);\r\n this._reloadContent(keys, applyLayout, isExternalChanges)\r\n };\r\n _proto._reloadContent = function(itemKeys, applyLayout, isExternalChanges) {\r\n var _this12 = this;\r\n var getData = function() {\r\n var nodeDataSource;\r\n var edgeDataSource;\r\n if (_this12._nodesOption && isExternalChanges) {\r\n nodeDataSource = _this12._nodesOption.getItems()\r\n }\r\n if (_this12._edgesOption && isExternalChanges) {\r\n edgeDataSource = _this12._edgesOption.getItems()\r\n }\r\n return {\r\n nodeDataSource: nodeDataSource,\r\n edgeDataSource: edgeDataSource\r\n }\r\n };\r\n this._diagramInstance.reloadContent(itemKeys, getData, applyLayout && this._getDataBindingLayoutParameters(), isExternalChanges)\r\n };\r\n _proto._getConnectorLineOption = function(lineType) {\r\n var _getDiagram5 = (0, _diagram.getDiagram)(),\r\n ConnectorLineOption = _getDiagram5.ConnectorLineOption;\r\n switch (lineType) {\r\n case \"straight\":\r\n return ConnectorLineOption.Straight;\r\n default:\r\n return ConnectorLineOption.Orthogonal\r\n }\r\n };\r\n _proto._getConnectorLineEnding = function(lineEnd) {\r\n var _getDiagram6 = (0, _diagram.getDiagram)(),\r\n ConnectorLineEnding = _getDiagram6.ConnectorLineEnding;\r\n switch (lineEnd) {\r\n case \"arrow\":\r\n return ConnectorLineEnding.Arrow;\r\n case \"outlinedTriangle\":\r\n return ConnectorLineEnding.OutlinedTriangle;\r\n case \"filledTriangle\":\r\n return ConnectorLineEnding.FilledTriangle;\r\n default:\r\n return ConnectorLineEnding.None\r\n }\r\n };\r\n _proto._getDataBindingLayoutParameters = function() {\r\n var _getDiagram7 = (0, _diagram.getDiagram)(),\r\n DataLayoutType = _getDiagram7.DataLayoutType,\r\n DataLayoutOrientation = _getDiagram7.DataLayoutOrientation;\r\n var layoutParametersOption = this.option(\"nodes.autoLayout\") || \"off\";\r\n var layoutType = layoutParametersOption.type || layoutParametersOption;\r\n var parameters = {};\r\n if (\"off\" !== layoutType && (\"auto\" !== layoutType || !this._hasNodePositionExprs())) {\r\n switch (layoutType) {\r\n case \"tree\":\r\n parameters.type = DataLayoutType.Tree;\r\n break;\r\n default:\r\n parameters.type = DataLayoutType.Sugiyama\r\n }\r\n switch (layoutParametersOption.orientation) {\r\n case \"vertical\":\r\n parameters.orientation = DataLayoutOrientation.Vertical;\r\n break;\r\n case \"horizontal\":\r\n parameters.orientation = DataLayoutOrientation.Horizontal\r\n }\r\n if (this.option(\"edges.fromPointIndexExpr\") || this.option(\"edges.toPointIndexExpr\")) {\r\n parameters.skipPointIndices = true\r\n }\r\n }\r\n parameters.autoSizeEnabled = !!this.option(\"nodes.autoSizeEnabled\");\r\n return parameters\r\n };\r\n _proto._hasNodePositionExprs = function() {\r\n return this.option(\"nodes.topExpr\") && this.option(\"nodes.leftExpr\")\r\n };\r\n _proto._getAutoZoomValue = function(option) {\r\n var _getDiagram8 = (0, _diagram.getDiagram)(),\r\n AutoZoomMode = _getDiagram8.AutoZoomMode;\r\n switch (option) {\r\n case \"fitContent\":\r\n return AutoZoomMode.FitContent;\r\n case \"fitWidth\":\r\n return AutoZoomMode.FitToWidth;\r\n default:\r\n return AutoZoomMode.Disabled\r\n }\r\n };\r\n _proto._isBindingMode = function() {\r\n return this._nodesOption && this._nodesOption.hasItems() || this._edgesOption && this._nodesOption.hasItems()\r\n };\r\n _proto._beginUpdateDiagram = function() {\r\n this._updateDiagramLockCount++\r\n };\r\n _proto._endUpdateDiagram = function() {\r\n this._updateDiagramLockCount = Math.max(this._updateDiagramLockCount - 1, 0);\r\n if (!this._updateDiagramLockCount) {\r\n this._bindDiagramData()\r\n }\r\n };\r\n _proto._getCustomShapes = function() {\r\n return this.option(\"customShapes\") || []\r\n };\r\n _proto._getToolboxGroups = function() {\r\n return _diagram2.default.getGroups(this.option(\"toolbox.groups\"))\r\n };\r\n _proto._updateCustomShapes = function(customShapes, prevCustomShapes) {\r\n var _this13 = this;\r\n if (Array.isArray(prevCustomShapes)) {\r\n this._diagramInstance.removeCustomShapes(prevCustomShapes.map(function(s) {\r\n return s.type\r\n }))\r\n }\r\n if (Array.isArray(customShapes)) {\r\n this._diagramInstance.addCustomShapes(customShapes.map(function(s) {\r\n var templateOption = s.template || _this13.option(\"customShapeTemplate\");\r\n var template = templateOption && _this13._getTemplate(templateOption);\r\n var toolboxTemplateOption = s.toolboxTemplate || _this13.option(\"customShapeToolboxTemplate\");\r\n var toolboxTemplate = toolboxTemplateOption && _this13._getTemplate(toolboxTemplateOption);\r\n return {\r\n category: s.category,\r\n type: s.type,\r\n baseType: s.baseType,\r\n title: s.title,\r\n svgUrl: s.backgroundImageUrl,\r\n svgToolboxUrl: s.backgroundImageToolboxUrl,\r\n svgLeft: s.backgroundImageLeft,\r\n svgTop: s.backgroundImageTop,\r\n svgWidth: s.backgroundImageWidth,\r\n svgHeight: s.backgroundImageHeight,\r\n defaultWidth: s.defaultWidth,\r\n defaultHeight: s.defaultHeight,\r\n toolboxWidthToHeightRatio: s.toolboxWidthToHeightRatio,\r\n minWidth: s.minWidth,\r\n minHeight: s.minHeight,\r\n maxWidth: s.maxWidth,\r\n maxHeight: s.maxHeight,\r\n allowResize: s.allowResize,\r\n defaultText: s.defaultText,\r\n allowEditText: s.allowEditText,\r\n textLeft: s.textLeft,\r\n textTop: s.textTop,\r\n textWidth: s.textWidth,\r\n textHeight: s.textHeight,\r\n defaultImageUrl: s.defaultImageUrl,\r\n allowEditImage: s.allowEditImage,\r\n imageLeft: s.imageLeft,\r\n imageTop: s.imageTop,\r\n imageWidth: s.imageWidth,\r\n imageHeight: s.imageHeight,\r\n connectionPoints: s.connectionPoints && s.connectionPoints.map(function(pt) {\r\n return {\r\n x: pt.x,\r\n y: pt.y\r\n }\r\n }),\r\n createTemplate: template && function(container, item) {\r\n template.render({\r\n model: _this13._nativeItemToDiagramItem(item),\r\n container: (0, _element.getPublicElement)((0, _renderer.default)(container))\r\n })\r\n },\r\n createToolboxTemplate: toolboxTemplate && function(container, item) {\r\n toolboxTemplate.render({\r\n model: _this13._nativeItemToDiagramItem(item),\r\n container: (0, _element.getPublicElement)((0, _renderer.default)(container))\r\n })\r\n },\r\n destroyTemplate: template && function(container) {\r\n (0, _renderer.default)(container).empty()\r\n },\r\n templateLeft: s.templateLeft,\r\n templateTop: s.templateTop,\r\n templateWidth: s.templateWidth,\r\n templateHeight: s.templateHeight,\r\n keepRatioOnAutoSize: s.keepRatioOnAutoSize\r\n }\r\n }))\r\n }\r\n };\r\n _proto._onToggleFullScreen = function(fullScreen) {\r\n if (this.toggleFullscreenLock > 0) {\r\n return\r\n }\r\n this._changeNativeFullscreen(fullScreen);\r\n this.$element().toggleClass(DIAGRAM_FULLSCREEN_CLASS, fullScreen);\r\n this._diagramInstance.updateLayout(true);\r\n this._processDiagramResize();\r\n if (this._toolbox) {\r\n this._toolbox.repaint()\r\n }\r\n if (this._propertiesPanel) {\r\n this._propertiesPanel.repaint()\r\n }\r\n };\r\n _proto._changeNativeFullscreen = function(setModeOn) {\r\n var window = (0, _window.getWindow)();\r\n if (window.self === window.top || setModeOn === this._inNativeFullscreen()) {\r\n return\r\n }\r\n if (setModeOn) {\r\n this._subscribeFullscreenNativeChanged()\r\n } else {\r\n this._unsubscribeFullscreenNativeChanged()\r\n }\r\n this._setNativeFullscreen(setModeOn)\r\n };\r\n _proto._setNativeFullscreen = function(on) {\r\n var window = (0, _window.getWindow)();\r\n var document = window.self.document;\r\n var body = window.self.document.body;\r\n if (on) {\r\n if (body.requestFullscreen) {\r\n body.requestFullscreen()\r\n } else {\r\n if (body.mozRequestFullscreen) {\r\n body.mozRequestFullscreen()\r\n } else {\r\n if (body.webkitRequestFullscreen) {\r\n body.webkitRequestFullscreen()\r\n } else {\r\n if (body.msRequestFullscreen) {\r\n body.msRequestFullscreen()\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n if (document.exitFullscreen) {\r\n document.exitFullscreen()\r\n } else {\r\n if (document.mozCancelFullscreen) {\r\n document.mozCancelFullscreen()\r\n } else {\r\n if (document.webkitExitFullscreen) {\r\n document.webkitExitFullscreen()\r\n } else {\r\n if (document.msExitFullscreen) {\r\n document.msExitFullscreen()\r\n }\r\n }\r\n }\r\n }\r\n }\r\n };\r\n _proto._inNativeFullscreen = function() {\r\n var document = (0, _window.getWindow)().document;\r\n var fullscreenElement = document.fullscreenElement || document.msFullscreenElement || document.webkitFullscreenElement;\r\n var isInFullscreen = fullscreenElement === document.body || document.webkitIsFullscreen;\r\n return !!isInFullscreen\r\n };\r\n _proto._subscribeFullscreenNativeChanged = function() {\r\n var document = (0, _window.getWindow)().document;\r\n var handler = this._onNativeFullscreenChangeHandler.bind(this);\r\n _events_engine.default.on(document, FULLSCREEN_CHANGE_EVENT_NAME, handler);\r\n _events_engine.default.on(document, IE_FULLSCREEN_CHANGE_EVENT_NAME, handler);\r\n _events_engine.default.on(document, WEBKIT_FULLSCREEN_CHANGE_EVENT_NAME, handler);\r\n _events_engine.default.on(document, MOZ_FULLSCREEN_CHANGE_EVENT_NAME, handler)\r\n };\r\n _proto._unsubscribeFullscreenNativeChanged = function() {\r\n var document = (0, _window.getWindow)().document;\r\n _events_engine.default.off(document, FULLSCREEN_CHANGE_EVENT_NAME);\r\n _events_engine.default.off(document, IE_FULLSCREEN_CHANGE_EVENT_NAME);\r\n _events_engine.default.off(document, WEBKIT_FULLSCREEN_CHANGE_EVENT_NAME);\r\n _events_engine.default.off(document, MOZ_FULLSCREEN_CHANGE_EVENT_NAME)\r\n };\r\n _proto._onNativeFullscreenChangeHandler = function() {\r\n if (!this._inNativeFullscreen()) {\r\n this._unsubscribeFullscreenNativeChanged();\r\n this.option(\"fullScreen\", false)\r\n }\r\n };\r\n _proto._executeDiagramFullscreenCommand = function(fullscreen) {\r\n var _getDiagram9 = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram9.DiagramCommand;\r\n this.toggleFullscreenLock++;\r\n this._executeDiagramCommand(DiagramCommand.Fullscreen, fullscreen);\r\n this.toggleFullscreenLock--\r\n };\r\n _proto._onShowContextMenu = function(x, y, selection) {\r\n if (this._contextMenu) {\r\n this._contextMenu._show(x, y, selection)\r\n }\r\n };\r\n _proto._onHideContextMenu = function() {\r\n if (this._contextMenu) {\r\n this._contextMenu._hide()\r\n }\r\n };\r\n _proto._onShowContextToolbox = function(x, y, side, category, callback) {\r\n if (this._contextToolbox) {\r\n this._contextToolbox._show(x, y, side, category, callback)\r\n }\r\n };\r\n _proto._onHideContextToolbox = function() {\r\n if (this._contextToolbox) {\r\n this._contextToolbox._hide()\r\n }\r\n };\r\n _proto._getDiagramUnitValue = function(value) {\r\n var _getDiagram10 = (0, _diagram.getDiagram)(),\r\n DiagramUnit = _getDiagram10.DiagramUnit;\r\n switch (value) {\r\n case \"in\":\r\n return DiagramUnit.In;\r\n case \"cm\":\r\n return DiagramUnit.Cm;\r\n case \"px\":\r\n return DiagramUnit.Px;\r\n default:\r\n return DiagramUnit.In\r\n }\r\n };\r\n _proto._updateReadOnlyState = function() {\r\n var _getDiagram11 = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram11.DiagramCommand;\r\n var readOnly = this.isReadOnlyMode();\r\n this._executeDiagramCommand(DiagramCommand.ToggleReadOnly, readOnly)\r\n };\r\n _proto._updateZoomLevelState = function() {\r\n if (this.option(\"zoomLevel.items\")) {\r\n this._updateZoomLevelItemsState();\r\n var zoomLevel = this.option(\"zoomLevel.value\");\r\n if (!zoomLevel) {\r\n return\r\n }\r\n var _getDiagram12 = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram12.DiagramCommand;\r\n this._executeDiagramCommand(DiagramCommand.ZoomLevel, zoomLevel)\r\n } else {\r\n var _zoomLevel = this.option(\"zoomLevel.value\") || this.option(\"zoomLevel\");\r\n if (!_zoomLevel) {\r\n return\r\n }\r\n var _getDiagram13 = (0, _diagram.getDiagram)(),\r\n _DiagramCommand = _getDiagram13.DiagramCommand;\r\n this._executeDiagramCommand(_DiagramCommand.ZoomLevel, _zoomLevel)\r\n }\r\n };\r\n _proto._updateZoomLevelItemsState = function() {\r\n var zoomLevelItems = this.option(\"zoomLevel.items\");\r\n if (!Array.isArray(zoomLevelItems)) {\r\n return\r\n }\r\n var _getDiagram14 = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram14.DiagramCommand;\r\n this._executeDiagramCommand(DiagramCommand.ZoomLevelItems, zoomLevelItems)\r\n };\r\n _proto._updateAutoZoomState = function() {\r\n var _getDiagram15 = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram15.DiagramCommand;\r\n this._executeDiagramCommand(DiagramCommand.SwitchAutoZoom, this._getAutoZoomValue(this.option(\"autoZoomMode\")))\r\n };\r\n _proto._updateSimpleViewState = function() {\r\n var _getDiagram16 = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram16.DiagramCommand;\r\n this._executeDiagramCommand(DiagramCommand.ToggleSimpleView, this.option(\"simpleView\"))\r\n };\r\n _proto._updateFullscreenState = function() {\r\n var fullscreen = this.option(\"fullScreen\");\r\n this._executeDiagramFullscreenCommand(fullscreen);\r\n this._onToggleFullScreen(fullscreen)\r\n };\r\n _proto._updateShowGridState = function() {\r\n var _getDiagram17 = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram17.DiagramCommand;\r\n this._executeDiagramCommand(DiagramCommand.ShowGrid, this.option(\"showGrid\"))\r\n };\r\n _proto._updateSnapToGridState = function() {\r\n var _getDiagram18 = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram18.DiagramCommand;\r\n this._executeDiagramCommand(DiagramCommand.SnapToGrid, this.option(\"snapToGrid\"))\r\n };\r\n _proto._updateGridSizeState = function() {\r\n if (this.option(\"gridSize.items\")) {\r\n this._updateGridSizeItemsState();\r\n var gridSize = this.option(\"gridSize.value\");\r\n if (!gridSize) {\r\n return\r\n }\r\n var _getDiagram19 = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram19.DiagramCommand;\r\n this._executeDiagramCommand(DiagramCommand.GridSize, gridSize)\r\n } else {\r\n var _gridSize = this.option(\"gridSize.value\") || this.option(\"gridSize\");\r\n if (!_gridSize) {\r\n return\r\n }\r\n var _getDiagram20 = (0, _diagram.getDiagram)(),\r\n _DiagramCommand2 = _getDiagram20.DiagramCommand;\r\n this._executeDiagramCommand(_DiagramCommand2.GridSize, _gridSize)\r\n }\r\n };\r\n _proto._updateGridSizeItemsState = function() {\r\n var gridSizeItems = this.option(\"gridSize.items\");\r\n if (!Array.isArray(gridSizeItems)) {\r\n return\r\n }\r\n var _getDiagram21 = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram21.DiagramCommand;\r\n this._executeDiagramCommand(DiagramCommand.GridSizeItems, gridSizeItems)\r\n };\r\n _proto._updateUnitItems = function() {\r\n var _getDiagram22 = (0, _diagram.getDiagram)(),\r\n DiagramLocalizationService = _getDiagram22.DiagramLocalizationService;\r\n var items = this._getUnitItems();\r\n if (this._unitItems !== items) {\r\n this._unitItems = items;\r\n DiagramLocalizationService.unitItems = items\r\n }\r\n };\r\n _proto._getUnitItems = function() {\r\n var _getDiagram23 = (0, _diagram.getDiagram)(),\r\n DiagramUnit = _getDiagram23.DiagramUnit;\r\n var items = {};\r\n items[DiagramUnit.In] = _message.default.format(\"dxDiagram-unitIn\");\r\n items[DiagramUnit.Cm] = _message.default.format(\"dxDiagram-unitCm\");\r\n items[DiagramUnit.Px] = _message.default.format(\"dxDiagram-unitPx\");\r\n return items\r\n };\r\n _proto._updateFormatUnitsMethod = function() {\r\n var _getDiagram24 = (0, _diagram.getDiagram)(),\r\n DiagramLocalizationService = _getDiagram24.DiagramLocalizationService;\r\n DiagramLocalizationService.formatUnit = function(value) {\r\n return _number.default.format(value)\r\n }\r\n };\r\n _proto._updateViewUnitsState = function() {\r\n var _getDiagram25 = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram25.DiagramCommand;\r\n this._executeDiagramCommand(DiagramCommand.ViewUnits, this._getDiagramUnitValue(this.option(\"viewUnits\")))\r\n };\r\n _proto._updateUnitsState = function() {\r\n var _getDiagram26 = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram26.DiagramCommand;\r\n this._executeDiagramCommand(DiagramCommand.Units, this._getDiagramUnitValue(this.option(\"units\")))\r\n };\r\n _proto._updatePageSizeState = function() {\r\n var pageSize = this.option(\"pageSize\");\r\n if (!pageSize || !pageSize.width || !pageSize.height) {\r\n return\r\n }\r\n var _getDiagram27 = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram27.DiagramCommand;\r\n this._executeDiagramCommand(DiagramCommand.PageSize, pageSize)\r\n };\r\n _proto._updatePageSizeItemsState = function() {\r\n var pageSizeItems = this.option(\"pageSize.items\");\r\n if (!Array.isArray(pageSizeItems)) {\r\n return\r\n }\r\n var _getDiagram28 = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram28.DiagramCommand;\r\n this._executeDiagramCommand(DiagramCommand.PageSizeItems, pageSizeItems)\r\n };\r\n _proto._updatePageOrientationState = function() {\r\n var _getDiagram29 = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram29.DiagramCommand;\r\n this._executeDiagramCommand(DiagramCommand.PageLandscape, \"landscape\" === this.option(\"pageOrientation\"))\r\n };\r\n _proto._updatePageColorState = function() {\r\n var _getDiagram30 = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram30.DiagramCommand;\r\n this._executeDiagramCommand(DiagramCommand.PageColor, this.option(\"pageColor\"))\r\n };\r\n _proto._updateShapeTexts = function() {\r\n var _getDiagram31 = (0, _diagram.getDiagram)(),\r\n DiagramLocalizationService = _getDiagram31.DiagramLocalizationService;\r\n var texts = this._getShapeTexts();\r\n if (this._shapeTexts !== texts) {\r\n this._shapeTexts = texts;\r\n DiagramLocalizationService.shapeTexts = texts\r\n }\r\n };\r\n _proto._getShapeTexts = function() {\r\n var _getDiagram32 = (0, _diagram.getDiagram)(),\r\n ShapeTypes = _getDiagram32.ShapeTypes;\r\n var texts = {};\r\n texts[ShapeTypes.Text] = _message.default.format(\"dxDiagram-shapeText\");\r\n texts[ShapeTypes.Rectangle] = _message.default.format(\"dxDiagram-shapeRectangle\");\r\n texts[ShapeTypes.Ellipse] = _message.default.format(\"dxDiagram-shapeEllipse\");\r\n texts[ShapeTypes.Cross] = _message.default.format(\"dxDiagram-shapeCross\");\r\n texts[ShapeTypes.Triangle] = _message.default.format(\"dxDiagram-shapeTriangle\");\r\n texts[ShapeTypes.Diamond] = _message.default.format(\"dxDiagram-shapeDiamond\");\r\n texts[ShapeTypes.Heart] = _message.default.format(\"dxDiagram-shapeHeart\");\r\n texts[ShapeTypes.Pentagon] = _message.default.format(\"dxDiagram-shapePentagon\");\r\n texts[ShapeTypes.Hexagon] = _message.default.format(\"dxDiagram-shapeHexagon\");\r\n texts[ShapeTypes.Octagon] = _message.default.format(\"dxDiagram-shapeOctagon\");\r\n texts[ShapeTypes.Star] = _message.default.format(\"dxDiagram-shapeStar\");\r\n texts[ShapeTypes.ArrowLeft] = _message.default.format(\"dxDiagram-shapeArrowLeft\");\r\n texts[ShapeTypes.ArrowUp] = _message.default.format(\"dxDiagram-shapeArrowUp\");\r\n texts[ShapeTypes.ArrowRight] = _message.default.format(\"dxDiagram-shapeArrowRight\");\r\n texts[ShapeTypes.ArrowDown] = _message.default.format(\"dxDiagram-shapeArrowDown\");\r\n texts[ShapeTypes.ArrowUpDown] = _message.default.format(\"dxDiagram-shapeArrowUpDown\");\r\n texts[ShapeTypes.ArrowLeftRight] = _message.default.format(\"dxDiagram-shapeArrowLeftRight\");\r\n texts[ShapeTypes.Process] = _message.default.format(\"dxDiagram-shapeProcess\");\r\n texts[ShapeTypes.Decision] = _message.default.format(\"dxDiagram-shapeDecision\");\r\n texts[ShapeTypes.Terminator] = _message.default.format(\"dxDiagram-shapeTerminator\");\r\n texts[ShapeTypes.PredefinedProcess] = _message.default.format(\"dxDiagram-shapePredefinedProcess\");\r\n texts[ShapeTypes.Document] = _message.default.format(\"dxDiagram-shapeDocument\");\r\n texts[ShapeTypes.MultipleDocuments] = _message.default.format(\"dxDiagram-shapeMultipleDocuments\");\r\n texts[ShapeTypes.ManualInput] = _message.default.format(\"dxDiagram-shapeManualInput\");\r\n texts[ShapeTypes.Preparation] = _message.default.format(\"dxDiagram-shapePreparation\");\r\n texts[ShapeTypes.Data] = _message.default.format(\"dxDiagram-shapeData\");\r\n texts[ShapeTypes.Database] = _message.default.format(\"dxDiagram-shapeDatabase\");\r\n texts[ShapeTypes.HardDisk] = _message.default.format(\"dxDiagram-shapeHardDisk\");\r\n texts[ShapeTypes.InternalStorage] = _message.default.format(\"dxDiagram-shapeInternalStorage\");\r\n texts[ShapeTypes.PaperTape] = _message.default.format(\"dxDiagram-shapePaperTape\");\r\n texts[ShapeTypes.ManualOperation] = _message.default.format(\"dxDiagram-shapeManualOperation\");\r\n texts[ShapeTypes.Delay] = _message.default.format(\"dxDiagram-shapeDelay\");\r\n texts[ShapeTypes.StoredData] = _message.default.format(\"dxDiagram-shapeStoredData\");\r\n texts[ShapeTypes.Display] = _message.default.format(\"dxDiagram-shapeDisplay\");\r\n texts[ShapeTypes.Merge] = _message.default.format(\"dxDiagram-shapeMerge\");\r\n texts[ShapeTypes.Connector] = _message.default.format(\"dxDiagram-shapeConnector\");\r\n texts[ShapeTypes.Or] = _message.default.format(\"dxDiagram-shapeOr\");\r\n texts[ShapeTypes.SummingJunction] = _message.default.format(\"dxDiagram-shapeSummingJunction\");\r\n texts[ShapeTypes.Container] = _message.default.format(\"dxDiagram-shapeContainerDefaultText\");\r\n texts[ShapeTypes.VerticalContainer] = _message.default.format(\"dxDiagram-shapeVerticalContainer\");\r\n texts[ShapeTypes.HorizontalContainer] = _message.default.format(\"dxDiagram-shapeHorizontalContainer\");\r\n texts[ShapeTypes.Card] = _message.default.format(\"dxDiagram-shapeCardDefaultText\");\r\n texts[ShapeTypes.CardWithImageOnLeft] = _message.default.format(\"dxDiagram-shapeCardWithImageOnLeft\");\r\n texts[ShapeTypes.CardWithImageOnTop] = _message.default.format(\"dxDiagram-shapeCardWithImageOnTop\");\r\n texts[ShapeTypes.CardWithImageOnRight] = _message.default.format(\"dxDiagram-shapeCardWithImageOnRight\");\r\n return texts\r\n };\r\n _proto._updateEventSubscriptionMethods = function() {\r\n var _getDiagram33 = (0, _diagram.getDiagram)(),\r\n RenderHelper = _getDiagram33.RenderHelper;\r\n RenderHelper.addEventListener = function(element, eventName, handler) {\r\n _events_engine.default.on(element, eventName, handler)\r\n };\r\n RenderHelper.removeEventListener = function(element, eventName, handler) {\r\n _events_engine.default.off(element, eventName, handler)\r\n }\r\n };\r\n _proto._updateDefaultItemProperties = function() {\r\n if (this.option(\"defaultItemProperties.style\")) {\r\n this._diagramInstance.setInitialStyleProperties(this.option(\"defaultItemProperties.style\"))\r\n }\r\n if (this.option(\"defaultItemProperties.textStyle\")) {\r\n this._diagramInstance.setInitialTextStyleProperties(this.option(\"defaultItemProperties.textStyle\"))\r\n }\r\n this._diagramInstance.setInitialConnectorProperties({\r\n lineOption: this._getConnectorLineOption(this.option(\"defaultItemProperties.connectorLineType\")),\r\n startLineEnding: this._getConnectorLineEnding(this.option(\"defaultItemProperties.connectorLineStart\")),\r\n endLineEnding: this._getConnectorLineEnding(this.option(\"defaultItemProperties.connectorLineEnd\"))\r\n });\r\n this._diagramInstance.applyShapeSizeSettings({\r\n shapeMinWidth: this.option(\"defaultItemProperties.shapeMinWidth\"),\r\n shapeMaxWidth: this.option(\"defaultItemProperties.shapeMaxWidth\"),\r\n shapeMinHeight: this.option(\"defaultItemProperties.shapeMinHeight\"),\r\n shapeMaxHeight: this.option(\"defaultItemProperties.shapeMaxHeight\")\r\n })\r\n };\r\n _proto._updateEditingSettings = function() {\r\n this._diagramInstance.applyOperationSettings({\r\n addShape: this.option(\"editing.allowAddShape\"),\r\n addShapeFromToolbox: this.option(\"editing.allowAddShape\"),\r\n deleteShape: this.option(\"editing.allowDeleteShape\"),\r\n deleteConnector: this.option(\"editing.allowDeleteConnector\"),\r\n changeConnection: this.option(\"editing.allowChangeConnection\"),\r\n changeConnectorPoints: this.option(\"editing.allowChangeConnectorPoints\"),\r\n changeShapeText: this.option(\"editing.allowChangeShapeText\"),\r\n changeConnectorText: this.option(\"editing.allowChangeConnectorText\"),\r\n resizeShape: this.option(\"editing.allowResizeShape\"),\r\n moveShape: this.option(\"editing.allowMoveShape\")\r\n })\r\n };\r\n _proto.focus = function() {\r\n this._captureFocus()\r\n };\r\n _proto.export = function() {\r\n return this._getDiagramData()\r\n };\r\n _proto.exportTo = function(format, callback) {\r\n var command = this._getDiagramExportToCommand(format);\r\n this._executeDiagramCommand(command, callback)\r\n };\r\n _proto._getDiagramExportToCommand = function(format) {\r\n var _getDiagram34 = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram34.DiagramCommand;\r\n switch (format) {\r\n case \"png\":\r\n return DiagramCommand.ExportPng;\r\n case \"jpg\":\r\n return DiagramCommand.ExportJpg;\r\n default:\r\n return DiagramCommand.ExportSvg\r\n }\r\n };\r\n _proto.import = function(data, updateExistingItemsOnly) {\r\n this._setDiagramData(data, updateExistingItemsOnly);\r\n this._raiseDataChangeAction()\r\n };\r\n _proto.updateToolbox = function() {\r\n this._diagramInstance && this._diagramInstance.refreshToolbox();\r\n this._toolbox && this._toolbox.updateMaxHeight()\r\n };\r\n _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), {\r\n readOnly: false,\r\n zoomLevel: DIAGRAM_DEFAULT_ZOOMLEVEL,\r\n simpleView: false,\r\n autoZoomMode: DIAGRAM_DEFAULT_AUTOZOOM_MODE,\r\n fullScreen: false,\r\n showGrid: true,\r\n snapToGrid: true,\r\n units: DIAGRAM_DEFAULT_UNIT,\r\n viewUnits: DIAGRAM_DEFAULT_UNIT,\r\n pageOrientation: DIAGRAM_DEFAULT_PAGE_ORIENTATION,\r\n pageColor: DIAGRAM_DEFAULT_PAGE_COLOR,\r\n hasChanges: false,\r\n nodes: {\r\n dataSource: null,\r\n keyExpr: \"id\",\r\n customDataExpr: void 0,\r\n lockedExpr: void 0,\r\n styleExpr: void 0,\r\n textStyleExpr: void 0,\r\n zIndexExpr: void 0,\r\n typeExpr: \"type\",\r\n textExpr: \"text\",\r\n imageUrlExpr: void 0,\r\n parentKeyExpr: void 0,\r\n itemsExpr: void 0,\r\n leftExpr: void 0,\r\n topExpr: void 0,\r\n widthExpr: void 0,\r\n heightExpr: void 0,\r\n containerKeyExpr: void 0,\r\n containerChildrenExpr: \"children\",\r\n autoLayout: \"auto\",\r\n autoSizeEnabled: true\r\n },\r\n edges: {\r\n dataSource: null,\r\n keyExpr: \"id\",\r\n customDataExpr: void 0,\r\n lockedExpr: void 0,\r\n styleExpr: void 0,\r\n textStyleExpr: void 0,\r\n zIndexExpr: void 0,\r\n fromExpr: \"from\",\r\n fromPointIndexExpr: void 0,\r\n toExpr: \"to\",\r\n toPointIndexExpr: void 0,\r\n pointsExpr: void 0,\r\n textExpr: void 0,\r\n lineTypeExpr: void 0,\r\n fromLineEndExpr: void 0,\r\n toLineEndExpr: void 0\r\n },\r\n customShapes: [],\r\n toolbox: {\r\n visibility: \"auto\",\r\n shapeIconsPerRow: DIAGRAM_TOOLBOX_SHAPES_PER_ROW,\r\n showSearch: true\r\n },\r\n mainToolbar: {\r\n visible: false\r\n },\r\n historyToolbar: {\r\n visible: true\r\n },\r\n viewToolbar: {\r\n visible: true\r\n },\r\n contextMenu: {\r\n enabled: true\r\n },\r\n contextToolbox: {\r\n enabled: true,\r\n shapeIconsPerRow: DIAGRAM_CONTEXT_TOOLBOX_SHAPES_PER_ROW,\r\n width: DIAGRAM_CONTEXT_TOOLBOX_DEFAULT_WIDTH\r\n },\r\n propertiesPanel: {\r\n visibility: \"auto\"\r\n },\r\n defaultItemProperties: {\r\n connectorLineType: \"orthogonal\",\r\n connectorLineStart: \"none\",\r\n connectorLineEnd: \"arrow\"\r\n },\r\n editing: {\r\n allowAddShape: true,\r\n allowDeleteShape: true,\r\n allowDeleteConnector: true,\r\n allowChangeConnection: true,\r\n allowChangeConnectorPoints: true,\r\n allowChangeShapeText: true,\r\n allowChangeConnectorText: true,\r\n allowResizeShape: true,\r\n allowMoveShape: true\r\n },\r\n \"export\": {\r\n fileName: \"Diagram\",\r\n proxyUrl: void 0\r\n },\r\n onItemClick: null,\r\n onItemDblClick: null,\r\n onSelectionChanged: null,\r\n onRequestEditOperation: null,\r\n onRequestLayoutUpdate: null\r\n })\r\n };\r\n _proto._raiseDataChangeAction = function() {\r\n if (this._initialized) {\r\n this.option(\"hasChanges\", true)\r\n }\r\n };\r\n _proto._raiseEdgeInsertedAction = function(data, callback, errorCallback) {\r\n if (this._edgesOption) {\r\n this._edgesOption.insert(data, callback, errorCallback)\r\n }\r\n };\r\n _proto._raiseEdgeUpdatedAction = function(key, data, callback, errorCallback) {\r\n if (this._edgesOption) {\r\n this._edgesOption.update(key, data, callback, errorCallback)\r\n }\r\n };\r\n _proto._raiseEdgeRemovedAction = function(key, data, callback, errorCallback) {\r\n if (this._edgesOption) {\r\n this._edgesOption.remove(key, data, callback, errorCallback)\r\n }\r\n };\r\n _proto._raiseNodeInsertedAction = function(data, callback, errorCallback) {\r\n if (this._nodesOption) {\r\n this._nodesOption.insert(data, callback, errorCallback)\r\n }\r\n };\r\n _proto._raiseNodeUpdatedAction = function(key, data, callback, errorCallback) {\r\n if (this._nodesOption) {\r\n this._nodesOption.update(key, data, callback, errorCallback)\r\n }\r\n };\r\n _proto._raiseNodeRemovedAction = function(key, data, callback, errorCallback) {\r\n if (this._nodesOption) {\r\n this._nodesOption.remove(key, data, callback, errorCallback)\r\n }\r\n };\r\n _proto._raiseToolboxDragStart = function() {\r\n if (this._toolbox) {\r\n this._toolbox._raiseToolboxDragStart();\r\n if (this.isMobileScreenSize()) {\r\n this._toolbox.hide();\r\n this._toolboxDragHidden = true\r\n }\r\n }\r\n };\r\n _proto._raiseToolboxDragEnd = function() {\r\n if (this._toolbox) {\r\n this._toolbox._raiseToolboxDragEnd();\r\n if (this._toolboxDragHidden) {\r\n this._toolbox.show();\r\n delete this._toolboxDragHidden\r\n }\r\n }\r\n };\r\n _proto._raiseTextInputStart = function() {\r\n this._textInputStarted = true;\r\n if (this._propertiesPanel) {\r\n if (this.isMobileScreenSize() && this._propertiesPanel.isVisible()) {\r\n this._propertiesPanel.hide();\r\n this._propertiesPanelTextInputHidden = true\r\n }\r\n }\r\n if (this._toolbox) {\r\n if (this.isMobileScreenSize() && this._toolbox.isVisible()) {\r\n this._toolbox.hide();\r\n this._toolboxTextInputHidden = true\r\n }\r\n }\r\n };\r\n _proto._raiseTextInputEnd = function() {\r\n if (this._propertiesPanel) {\r\n if (this._propertiesPanelTextInputHidden) {\r\n this._propertiesPanel.show();\r\n delete this._propertiesPanelTextInputHidden\r\n }\r\n }\r\n if (this._toolbox) {\r\n if (this._toolboxTextInputHidden) {\r\n this._toolbox.show();\r\n delete this._toolboxTextInputHidden\r\n }\r\n }\r\n this._textInputStarted = false\r\n };\r\n _proto._createItemClickAction = function() {\r\n this._itemClickAction = this._createActionByOption(\"onItemClick\")\r\n };\r\n _proto._createItemDblClickAction = function() {\r\n this._itemDblClickAction = this._createActionByOption(\"onItemDblClick\")\r\n };\r\n _proto._createSelectionChangedAction = function() {\r\n this._selectionChangedAction = this._createActionByOption(\"onSelectionChanged\")\r\n };\r\n _proto._createRequestEditOperationAction = function() {\r\n this._requestEditOperationAction = this._createActionByOption(\"onRequestEditOperation\")\r\n };\r\n _proto._createRequestLayoutUpdateAction = function() {\r\n this._requestLayoutUpdateAction = this._createActionByOption(\"onRequestLayoutUpdate\")\r\n };\r\n _proto._createCustomCommand = function() {\r\n this._customCommandAction = this._createActionByOption(\"onCustomCommand\")\r\n };\r\n _proto._raiseItemClickAction = function(nativeItem) {\r\n if (!this._itemClickAction) {\r\n this._createItemClickAction()\r\n }\r\n this._itemClickAction({\r\n item: this._nativeItemToDiagramItem(nativeItem)\r\n })\r\n };\r\n _proto._raiseItemDblClickAction = function(nativeItem) {\r\n if (!this._itemDblClickAction) {\r\n this._createItemDblClickAction()\r\n }\r\n this._itemDblClickAction({\r\n item: this._nativeItemToDiagramItem(nativeItem)\r\n })\r\n };\r\n _proto._raiseSelectionChanged = function(nativeItems) {\r\n if (!this._selectionChangedAction) {\r\n this._createSelectionChangedAction()\r\n }\r\n this._selectionChangedAction({\r\n items: nativeItems.map(this._nativeItemToDiagramItem.bind(this))\r\n })\r\n };\r\n _proto._raiseRequestEditOperation = function(operation, args) {\r\n if (!this._requestEditOperationAction) {\r\n this._createRequestEditOperationAction()\r\n }\r\n var eventArgs = this._getRequestEditOperationEventArgs(operation, args);\r\n this._requestEditOperationAction(eventArgs);\r\n args.allowed = eventArgs.allowed\r\n };\r\n _proto._getModelOperation = function(operation) {\r\n var _getDiagram35 = (0, _diagram.getDiagram)(),\r\n DiagramModelOperation = _getDiagram35.DiagramModelOperation;\r\n switch (operation) {\r\n case DiagramModelOperation.AddShape:\r\n return \"addShape\";\r\n case DiagramModelOperation.AddShapeFromToolbox:\r\n return \"addShapeFromToolbox\";\r\n case DiagramModelOperation.DeleteShape:\r\n return \"deleteShape\";\r\n case DiagramModelOperation.DeleteConnector:\r\n return \"deleteConnector\";\r\n case DiagramModelOperation.ChangeConnection:\r\n return \"changeConnection\";\r\n case DiagramModelOperation.ChangeConnectorPoints:\r\n return \"changeConnectorPoints\";\r\n case DiagramModelOperation.BeforeChangeShapeText:\r\n return \"beforeChangeShapeText\";\r\n case DiagramModelOperation.ChangeShapeText:\r\n return \"changeShapeText\";\r\n case DiagramModelOperation.BeforeChangeConnectorText:\r\n return \"beforeChangeConnectorText\";\r\n case DiagramModelOperation.ChangeConnectorText:\r\n return \"changeConnectorText\";\r\n case DiagramModelOperation.ResizeShape:\r\n return \"resizeShape\";\r\n case DiagramModelOperation.MoveShape:\r\n return \"moveShape\"\r\n }\r\n };\r\n _proto._getRequestEditOperationEventArgs = function(operation, args) {\r\n var _getDiagram36 = (0, _diagram.getDiagram)(),\r\n DiagramModelOperation = _getDiagram36.DiagramModelOperation,\r\n ConnectorPosition = _getDiagram36.ConnectorPosition;\r\n var eventArgs = {\r\n operation: this._getModelOperation(operation),\r\n allowed: args.allowed,\r\n updateUI: args.updateUI,\r\n reason: args.updateUI ? \"checkUIElementAvailability\" : \"modelModification\"\r\n };\r\n switch (operation) {\r\n case DiagramModelOperation.AddShape:\r\n eventArgs.args = {\r\n shape: args.shape && this._nativeItemToDiagramItem(args.shape),\r\n position: args.position && {\r\n x: args.position.x,\r\n y: args.position.y\r\n }\r\n };\r\n break;\r\n case DiagramModelOperation.AddShapeFromToolbox:\r\n eventArgs.args = {\r\n shapeType: args.shapeType\r\n };\r\n break;\r\n case DiagramModelOperation.DeleteShape:\r\n eventArgs.args = {\r\n shape: args.shape && this._nativeItemToDiagramItem(args.shape)\r\n };\r\n break;\r\n case DiagramModelOperation.DeleteConnector:\r\n eventArgs.args = {\r\n connector: args.connector && this._nativeItemToDiagramItem(args.connector)\r\n };\r\n break;\r\n case DiagramModelOperation.ChangeConnection:\r\n eventArgs.args = {\r\n newShape: args.shape && this._nativeItemToDiagramItem(args.shape),\r\n oldShape: args.oldShape && this._nativeItemToDiagramItem(args.oldShape),\r\n connector: args.connector && this._nativeItemToDiagramItem(args.connector),\r\n connectionPointIndex: args.connectionPointIndex,\r\n connectorPosition: args.position === ConnectorPosition.Begin ? \"start\" : \"end\"\r\n };\r\n break;\r\n case DiagramModelOperation.ChangeConnectorPoints:\r\n eventArgs.args = {\r\n connector: args.connector && this._nativeItemToDiagramItem(args.connector),\r\n newPoints: args.points && args.points.map(function(pt) {\r\n return {\r\n x: pt.x,\r\n y: pt.y\r\n }\r\n }),\r\n oldPoints: args.oldPoints && args.oldPoints.map(function(pt) {\r\n return {\r\n x: pt.x,\r\n y: pt.y\r\n }\r\n })\r\n };\r\n break;\r\n case DiagramModelOperation.BeforeChangeShapeText:\r\n eventArgs.args = {\r\n shape: args.shape && this._nativeItemToDiagramItem(args.shape)\r\n };\r\n break;\r\n case DiagramModelOperation.ChangeShapeText:\r\n eventArgs.args = {\r\n shape: args.shape && this._nativeItemToDiagramItem(args.shape),\r\n text: args.text\r\n };\r\n break;\r\n case DiagramModelOperation.BeforeChangeConnectorText:\r\n eventArgs.args = {\r\n connector: args.connector && this._nativeItemToDiagramItem(args.connector),\r\n index: args.index\r\n };\r\n break;\r\n case DiagramModelOperation.ChangeConnectorText:\r\n eventArgs.args = {\r\n connector: args.connector && this._nativeItemToDiagramItem(args.connector),\r\n index: args.index,\r\n text: args.text\r\n };\r\n break;\r\n case DiagramModelOperation.ResizeShape:\r\n eventArgs.args = {\r\n shape: args.shape && this._nativeItemToDiagramItem(args.shape),\r\n newSize: args.size && {\r\n width: args.size.width,\r\n height: args.size.height\r\n },\r\n oldSize: args.oldSize && {\r\n width: args.oldSize.width,\r\n height: args.oldSize.height\r\n }\r\n };\r\n break;\r\n case DiagramModelOperation.MoveShape:\r\n eventArgs.args = {\r\n shape: args.shape && this._nativeItemToDiagramItem(args.shape),\r\n newPosition: args.position && {\r\n x: args.position.x,\r\n y: args.position.y\r\n },\r\n oldPosition: args.oldPosition && {\r\n x: args.oldPosition.x,\r\n y: args.oldPosition.y\r\n }\r\n }\r\n }\r\n return eventArgs\r\n };\r\n _proto._nativeItemToDiagramItem = function(nativeItem) {\r\n var _getDiagram37 = (0, _diagram.getDiagram)(),\r\n NativeShape = _getDiagram37.NativeShape;\r\n var createMethod = nativeItem instanceof NativeShape ? this._nativeShapeToDiagramShape.bind(this) : this._nativeConnectorToDiagramConnector.bind(this);\r\n return (0, _extend.extend)({\r\n id: nativeItem.id,\r\n key: nativeItem.key,\r\n dataItem: void 0\r\n }, createMethod(nativeItem))\r\n };\r\n _proto._nativeShapeToDiagramShape = function(nativeShape) {\r\n return {\r\n dataItem: this._nodesOption && this._nodesOption.findItem(nativeShape.key),\r\n itemType: \"shape\",\r\n text: nativeShape.text,\r\n type: nativeShape.type,\r\n position: {\r\n x: nativeShape.position.x,\r\n y: nativeShape.position.y\r\n },\r\n size: {\r\n width: nativeShape.size.width,\r\n height: nativeShape.size.height\r\n },\r\n attachedConnectorIds: nativeShape.attachedConnectorIds,\r\n containerId: nativeShape.containerId,\r\n containerChildItemIds: nativeShape.containerChildItemIds,\r\n containerExpanded: nativeShape.containerExpanded\r\n }\r\n };\r\n _proto._nativeConnectorToDiagramConnector = function(nativeConnector) {\r\n return {\r\n dataItem: this._edgesOption && this._edgesOption.findItem(nativeConnector.key),\r\n itemType: \"connector\",\r\n texts: nativeConnector.texts,\r\n fromKey: nativeConnector.fromKey,\r\n toKey: nativeConnector.toKey,\r\n fromId: nativeConnector.fromId,\r\n fromPointIndex: nativeConnector.fromPointIndex,\r\n toId: nativeConnector.toId,\r\n toPointIndex: nativeConnector.toPointIndex,\r\n points: nativeConnector.points.map(function(pt) {\r\n return {\r\n x: pt.x,\r\n y: pt.y\r\n }\r\n })\r\n }\r\n };\r\n _proto.getItemByKey = function(key) {\r\n var nativeItem = this._diagramInstance && this._diagramInstance.getNativeItemByDataKey(key);\r\n return nativeItem && this._nativeItemToDiagramItem(nativeItem)\r\n };\r\n _proto.getItemById = function(id) {\r\n var nativeItem = this._diagramInstance && this._diagramInstance.getNativeItemByKey(id);\r\n return nativeItem && this._nativeItemToDiagramItem(nativeItem)\r\n };\r\n _proto._invalidateContextMenuCommands = function() {\r\n if (this._contextMenu) {\r\n this._contextMenu.option({\r\n commands: this.option(\"contextMenu.commands\")\r\n })\r\n }\r\n };\r\n _proto._invalidatePropertiesPanelTabs = function() {\r\n if (this._propertiesPanel) {\r\n this._propertiesPanel.option({\r\n propertyTabs: this.option(\"propertiesPanel.tabs\")\r\n })\r\n }\r\n };\r\n _proto._invalidateMainToolbarCommands = function() {\r\n if (this._mainToolbar) {\r\n this._mainToolbar.option({\r\n commands: this.option(\"mainToolbar.commands\")\r\n })\r\n }\r\n };\r\n _proto._invalidateHistoryToolbarCommands = function() {\r\n if (this._historyToolbar) {\r\n this._historyToolbar.option({\r\n commands: this.option(\"historyToolbar.commands\")\r\n })\r\n }\r\n };\r\n _proto._invalidateViewToolbarCommands = function() {\r\n if (this._viewToolbar) {\r\n this._viewToolbar.option({\r\n commands: this.option(\"viewToolbar.commands\")\r\n })\r\n }\r\n };\r\n _proto._invalidateToolboxGroups = function() {\r\n if (this._toolbox) {\r\n this._toolbox.option({\r\n toolboxGroups: this._getToolboxGroups()\r\n })\r\n }\r\n };\r\n _proto._optionChanged = function(args) {\r\n if (this.optionsUpdateBar.isUpdateLocked()) {\r\n return\r\n }\r\n this.optionsUpdateBar.beginUpdate();\r\n try {\r\n this._optionChangedCore(args)\r\n } finally {\r\n this.optionsUpdateBar.endUpdate()\r\n }\r\n };\r\n _proto._optionChangedCore = function(args) {\r\n var _this14 = this;\r\n switch (args.name) {\r\n case \"readOnly\":\r\n case \"disabled\":\r\n this._updateReadOnlyState();\r\n this._invalidate();\r\n break;\r\n case \"zoomLevel\":\r\n if (\"zoomLevel\" === args.fullName || \"zoomLevel.items\" === args.fullName || \"zoomLevel.value\" === args.fullName) {\r\n this._updateZoomLevelState()\r\n }\r\n break;\r\n case \"autoZoomMode\":\r\n this._updateAutoZoomState();\r\n break;\r\n case \"simpleView\":\r\n this._updateSimpleViewState();\r\n break;\r\n case \"fullScreen\":\r\n this._updateFullscreenState();\r\n break;\r\n case \"showGrid\":\r\n this._updateShowGridState();\r\n break;\r\n case \"snapToGrid\":\r\n this._updateSnapToGridState();\r\n break;\r\n case \"gridSize\":\r\n if (\"gridSize\" === args.fullName || \"gridSize.items\" === args.fullName || \"gridSize.value\" === args.fullName) {\r\n this._updateGridSizeState()\r\n }\r\n break;\r\n case \"viewUnits\":\r\n this._updateViewUnitsState();\r\n break;\r\n case \"units\":\r\n this._updateUnitsState();\r\n break;\r\n case \"pageSize\":\r\n if (\"pageSize\" === args.fullName || \"pageSize.items\" === args.fullName) {\r\n this._updatePageSizeItemsState()\r\n }\r\n if (\"pageSize\" === args.fullName || \"pageSize.width\" === args.fullName || \"pageSize.height\" === args.fullName) {\r\n this._updatePageSizeState()\r\n }\r\n break;\r\n case \"pageOrientation\":\r\n this._updatePageOrientationState();\r\n break;\r\n case \"pageColor\":\r\n this._updatePageColorState();\r\n break;\r\n case \"nodes\":\r\n if (\"nodes.autoLayout\" === args.fullName) {\r\n this._refreshDataSources()\r\n } else {\r\n this._refreshNodesDataSource()\r\n }\r\n break;\r\n case \"edges\":\r\n this._refreshEdgesDataSource();\r\n break;\r\n case \"customShapes\":\r\n this._updateCustomShapes(args.value, args.previousValue);\r\n this._invalidate();\r\n break;\r\n case \"contextMenu\":\r\n if (\"contextMenu.commands\" === args.fullName) {\r\n this._invalidateContextMenuCommands()\r\n } else {\r\n this._invalidate()\r\n }\r\n break;\r\n case \"contextToolbox\":\r\n this._invalidate();\r\n break;\r\n case \"propertiesPanel\":\r\n if (\"propertiesPanel.tabs\" === args.name) {\r\n this._invalidatePropertiesPanelTabs()\r\n } else {\r\n this._invalidate()\r\n }\r\n break;\r\n case \"toolbox\":\r\n if (\"toolbox.groups\" === args.fullName) {\r\n this._invalidateToolboxGroups()\r\n } else {\r\n this._invalidate()\r\n }\r\n break;\r\n case \"mainToolbar\":\r\n if (\"mainToolbar.commands\" === args.fullName) {\r\n this._invalidateMainToolbarCommands()\r\n } else {\r\n this._invalidate()\r\n }\r\n break;\r\n case \"historyToolbar\":\r\n if (\"historyToolbar.commands\" === args.fullName) {\r\n this._invalidateHistoryToolbarCommands()\r\n } else {\r\n this._invalidate()\r\n }\r\n break;\r\n case \"viewToolbar\":\r\n if (\"viewToolbar.commands\" === args.fullName) {\r\n this._invalidateViewToolbarCommands()\r\n } else {\r\n this._invalidate()\r\n }\r\n break;\r\n case \"onItemClick\":\r\n this._createItemClickAction();\r\n break;\r\n case \"onItemDblClick\":\r\n this._createItemDblClickAction();\r\n break;\r\n case \"onSelectionChanged\":\r\n this._createSelectionChangedAction();\r\n break;\r\n case \"onRequestEditOperation\":\r\n this._createRequestEditOperationAction();\r\n break;\r\n case \"onRequestLayoutUpdate\":\r\n this._createRequestLayoutUpdateAction();\r\n break;\r\n case \"onCustomCommand\":\r\n this._createCustomCommand();\r\n break;\r\n case \"defaultItemProperties\":\r\n this._updateDefaultItemProperties();\r\n break;\r\n case \"editing\":\r\n this._updateEditingSettings();\r\n break;\r\n case \"export\":\r\n this._toolbars.forEach(function(toolbar) {\r\n toolbar.option(\"export\", _this14.option(\"export\"))\r\n });\r\n if (this._contextMenu) {\r\n this._contextMenu.option(\"export\", this.option(\"export\"))\r\n }\r\n break;\r\n case \"hasChanges\":\r\n break;\r\n default:\r\n _Widget.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n return Diagram\r\n}(_ui.default);\r\n(0, _component_registrator.default)(\"dxDiagram\", Diagram);\r\nvar _default = Diagram;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/diagram/ui.diagram.main_toolbar.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _uiDiagram = _interopRequireDefault(require(\"./ui.diagram.toolbar\"));\r\nvar _diagram = _interopRequireDefault(require(\"./diagram.commands_manager\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf || function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar DiagramMainToolbar = function(_DiagramToolbar) {\r\n _inheritsLoose(DiagramMainToolbar, _DiagramToolbar);\r\n\r\n function DiagramMainToolbar() {\r\n return _DiagramToolbar.apply(this, arguments) || this\r\n }\r\n var _proto = DiagramMainToolbar.prototype;\r\n _proto._getCommands = function() {\r\n return _diagram.default.getMainToolbarCommands(this.option(\"commands\"), this.option(\"excludeCommands\"))\r\n };\r\n return DiagramMainToolbar\r\n}(_uiDiagram.default);\r\nvar _default = DiagramMainToolbar;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/diagram/ui.diagram.history_toolbar.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _uiDiagram = _interopRequireDefault(require(\"./ui.diagram.toolbar\"));\r\nvar _diagram = _interopRequireDefault(require(\"./diagram.commands_manager\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf || function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar DiagramHistoryToolbar = function(_DiagramToolbar) {\r\n _inheritsLoose(DiagramHistoryToolbar, _DiagramToolbar);\r\n\r\n function DiagramHistoryToolbar() {\r\n return _DiagramToolbar.apply(this, arguments) || this\r\n }\r\n var _proto = DiagramHistoryToolbar.prototype;\r\n _proto._getCommands = function() {\r\n return _diagram.default.getHistoryToolbarCommands(this.option(\"commands\"), this._getExcludeCommands())\r\n };\r\n _proto._getExcludeCommands = function() {\r\n var commands = [].concat(this.option(\"excludeCommands\"));\r\n if (!this.option(\"isMobileView\")) {\r\n commands.push(_diagram.default.SHOW_TOOLBOX_COMMAND_NAME)\r\n }\r\n return commands\r\n };\r\n return DiagramHistoryToolbar\r\n}(_uiDiagram.default);\r\nvar _default = DiagramHistoryToolbar;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/diagram/ui.diagram.view_toolbar.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _uiDiagram = _interopRequireDefault(require(\"./ui.diagram.toolbar\"));\r\nvar _diagram = _interopRequireDefault(require(\"./diagram.commands_manager\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf || function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar DiagramViewToolbar = function(_DiagramToolbar) {\r\n _inheritsLoose(DiagramViewToolbar, _DiagramToolbar);\r\n\r\n function DiagramViewToolbar() {\r\n return _DiagramToolbar.apply(this, arguments) || this\r\n }\r\n var _proto = DiagramViewToolbar.prototype;\r\n _proto._getCommands = function() {\r\n return _diagram.default.getViewToolbarCommands(this.option(\"commands\"), this.option(\"excludeCommands\"))\r\n };\r\n return DiagramViewToolbar\r\n}(_uiDiagram.default);\r\nvar _default = DiagramViewToolbar;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/diagram/ui.diagram.properties_toolbar.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _uiDiagram = _interopRequireDefault(require(\"./ui.diagram.toolbar\"));\r\nvar _diagram = _interopRequireDefault(require(\"./diagram.commands_manager\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf || function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar DiagramPropertiesToolbar = function(_DiagramToolbar) {\r\n _inheritsLoose(DiagramPropertiesToolbar, _DiagramToolbar);\r\n\r\n function DiagramPropertiesToolbar() {\r\n return _DiagramToolbar.apply(this, arguments) || this\r\n }\r\n var _proto = DiagramPropertiesToolbar.prototype;\r\n _proto._getCommands = function() {\r\n return _diagram.default.getPropertiesToolbarCommands()\r\n };\r\n return DiagramPropertiesToolbar\r\n}(_uiDiagram.default);\r\nvar _default = DiagramPropertiesToolbar;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/diagram/ui.diagram.context_menu.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _context_menu = _interopRequireDefault(require(\"../context_menu\"));\r\nvar _diagram = _interopRequireDefault(require(\"./diagram.commands_manager\"));\r\nvar _uiDiagram = _interopRequireDefault(require(\"./ui.diagram.menu_helper\"));\r\nvar _diagram2 = _interopRequireDefault(require(\"./diagram.bar\"));\r\nvar _diagram3 = require(\"./diagram.importer\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf || function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar DIAGRAM_TOUCHBAR_CLASS = \"dx-diagram-touchbar\";\r\nvar DIAGRAM_TOUCHBAR_OVERLAY_CLASS = \"dx-diagram-touchbar-overlay\";\r\nvar DIAGRAM_TOUCHBAR_TARGET_CLASS = \"dx-diagram-touchbar-target\";\r\nvar DIAGRAM_TOUCHBAR_MIN_UNWRAPPED_WIDTH = 800;\r\nvar DIAGRAM_TOUCHBAR_Y_OFFSET = 32;\r\nvar DiagramContextMenuWrapper = function(_Widget) {\r\n _inheritsLoose(DiagramContextMenuWrapper, _Widget);\r\n\r\n function DiagramContextMenuWrapper() {\r\n return _Widget.apply(this, arguments) || this\r\n }\r\n var _proto = DiagramContextMenuWrapper.prototype;\r\n _proto._init = function() {\r\n _Widget.prototype._init.call(this);\r\n this._createOnVisibilityChangingAction();\r\n this._createOnInternalCommand();\r\n this._createOnCustomCommand();\r\n this._createOnItemClickAction();\r\n this._tempState = void 0;\r\n this._commands = [];\r\n this._commandToIndexMap = {};\r\n this.bar = new DiagramContextMenuBar(this)\r\n };\r\n _proto._initMarkup = function() {\r\n var _this = this;\r\n _Widget.prototype._initMarkup.call(this);\r\n this._commands = this._getCommands();\r\n this._commandToIndexMap = {};\r\n this._fillCommandToIndexMap(this._commands, []);\r\n this._$contextMenuTargetElement = (0, _renderer.default)(\"
\").addClass(DIAGRAM_TOUCHBAR_TARGET_CLASS).appendTo(this.$element());\r\n var $contextMenu = (0, _renderer.default)(\"
\").appendTo(this.$element());\r\n this._contextMenuInstance = this._createComponent($contextMenu, DiagramContextMenu, {\r\n isTouchBarMode: this._isTouchBarMode(),\r\n cssClass: this._isTouchBarMode() ? DIAGRAM_TOUCHBAR_CLASS : _uiDiagram.default.getContextMenuCssClass(),\r\n closeOnOutsideClick: false,\r\n showEvent: \"\",\r\n focusStateEnabled: false,\r\n items: this._commands,\r\n position: this._isTouchBarMode() ? {\r\n my: {\r\n x: \"center\",\r\n y: \"bottom\"\r\n },\r\n at: {\r\n x: \"center\",\r\n y: \"top\"\r\n },\r\n of: this._$contextMenuTargetElement\r\n } : {},\r\n itemTemplate: function(itemData, itemIndex, itemElement) {\r\n _uiDiagram.default.getContextMenuItemTemplate(this, itemData, itemIndex, itemElement)\r\n },\r\n onItemClick: function(_ref) {\r\n var itemData = _ref.itemData;\r\n return _this._onItemClick(itemData)\r\n },\r\n onShowing: function(e) {\r\n if (true === _this._inOnShowing) {\r\n return\r\n }\r\n _this._inOnShowing = true;\r\n _this._onVisibilityChangingAction({\r\n visible: true,\r\n component: _this\r\n });\r\n e.component.option(\"items\", e.component.option(\"items\"));\r\n delete _this._inOnShowing\r\n }\r\n })\r\n };\r\n _proto._show = function(x, y, selection) {\r\n this._contextMenuInstance.hide();\r\n if (this._isTouchBarMode()) {\r\n this._$contextMenuTargetElement.show();\r\n if (!selection) {\r\n selection = {\r\n x: x,\r\n y: y,\r\n width: 0,\r\n height: 0\r\n }\r\n }\r\n var widthCorrection = selection.width > DIAGRAM_TOUCHBAR_MIN_UNWRAPPED_WIDTH ? 0 : (DIAGRAM_TOUCHBAR_MIN_UNWRAPPED_WIDTH - selection.width) / 2;\r\n this._$contextMenuTargetElement.css({\r\n left: selection.x - widthCorrection,\r\n top: selection.y - DIAGRAM_TOUCHBAR_Y_OFFSET,\r\n width: selection.width + 2 * widthCorrection,\r\n height: selection.height + 2 * DIAGRAM_TOUCHBAR_Y_OFFSET\r\n });\r\n this._contextMenuInstance.show()\r\n } else {\r\n this._contextMenuInstance.option(\"position\", {\r\n offset: x + \" \" + y\r\n });\r\n this._contextMenuInstance.show()\r\n }\r\n };\r\n _proto._hide = function() {\r\n this._$contextMenuTargetElement.hide();\r\n this._contextMenuInstance.hide()\r\n };\r\n _proto._isTouchBarMode = function() {\r\n var _getDiagram = (0, _diagram3.getDiagram)(),\r\n Browser = _getDiagram.Browser;\r\n return Browser.TouchUI\r\n };\r\n _proto._onItemClick = function(itemData) {\r\n var processed = false;\r\n if (this._onItemClickAction) {\r\n processed = this._onItemClickAction(itemData)\r\n }\r\n if (!processed) {\r\n _uiDiagram.default.onContextMenuItemClick(this, itemData, this._executeCommand.bind(this));\r\n this._contextMenuInstance.hide()\r\n }\r\n };\r\n _proto._executeCommand = function(command, name, value) {\r\n if (\"number\" === typeof command) {\r\n this.bar.raiseBarCommandExecuted(command, value)\r\n } else {\r\n if (\"string\" === typeof command) {\r\n this._onInternalCommandAction({\r\n command: command\r\n })\r\n }\r\n }\r\n if (void 0 !== name) {\r\n this._onCustomCommandAction({\r\n name: name\r\n })\r\n }\r\n };\r\n _proto._createOnInternalCommand = function() {\r\n this._onInternalCommandAction = this._createActionByOption(\"onInternalCommand\")\r\n };\r\n _proto._createOnCustomCommand = function() {\r\n this._onCustomCommandAction = this._createActionByOption(\"onCustomCommand\")\r\n };\r\n _proto._getCommands = function() {\r\n return _diagram.default.getContextMenuCommands(this.option(\"commands\"))\r\n };\r\n _proto._fillCommandToIndexMap = function(commands, indexPath) {\r\n var _this2 = this;\r\n commands.forEach(function(command, index) {\r\n var commandIndexPath = indexPath.concat([index]);\r\n if (void 0 !== command.command) {\r\n _this2._commandToIndexMap[command.command] = commandIndexPath\r\n }\r\n if (Array.isArray(command.items)) {\r\n _this2._fillCommandToIndexMap(command.items, commandIndexPath)\r\n }\r\n })\r\n };\r\n _proto._setItemEnabled = function(key, enabled) {\r\n this._setItemVisible(key, enabled)\r\n };\r\n _proto._setItemVisible = function(key, visible) {\r\n var itemOptionText = _uiDiagram.default.getItemOptionText(this._contextMenuInstance, this._commandToIndexMap[key]);\r\n _uiDiagram.default.updateContextMenuItemVisible(this._contextMenuInstance, itemOptionText, visible)\r\n };\r\n _proto._setItemValue = function(key, value) {\r\n var itemOptionText = _uiDiagram.default.getItemOptionText(this._contextMenuInstance, this._commandToIndexMap[key]);\r\n _uiDiagram.default.updateContextMenuItemValue(this._contextMenuInstance, itemOptionText, key, value)\r\n };\r\n _proto._setItemSubItems = function(key, items) {\r\n var itemOptionText = _uiDiagram.default.getItemOptionText(this._contextMenuInstance, this._commandToIndexMap[key]);\r\n _uiDiagram.default.updateContextMenuItems(this._contextMenuInstance, itemOptionText, key, items)\r\n };\r\n _proto._setEnabled = function(enabled) {\r\n this._contextMenuInstance.option(\"disabled\", !enabled)\r\n };\r\n _proto.isVisible = function() {\r\n return this._inOnShowing\r\n };\r\n _proto._createOnVisibilityChangingAction = function() {\r\n this._onVisibilityChangingAction = this._createActionByOption(\"onVisibilityChanging\")\r\n };\r\n _proto._createOnItemClickAction = function() {\r\n this._onItemClickAction = this._createActionByOption(\"onItemClick\")\r\n };\r\n _proto._optionChanged = function(args) {\r\n switch (args.name) {\r\n case \"onVisibilityChanging\":\r\n this._createOnVisibilityChangingAction();\r\n break;\r\n case \"onInternalCommand\":\r\n this._createOnInternalCommand();\r\n break;\r\n case \"onCustomCommand\":\r\n this._createOnCustomCommand();\r\n break;\r\n case \"onItemClick\":\r\n this._createOnItemClickAction();\r\n break;\r\n case \"commands\":\r\n this._invalidate();\r\n break;\r\n case \"export\":\r\n break;\r\n default:\r\n _Widget.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n return DiagramContextMenuWrapper\r\n}(_ui.default);\r\nvar DiagramContextMenu = function(_ContextMenu) {\r\n _inheritsLoose(DiagramContextMenu, _ContextMenu);\r\n\r\n function DiagramContextMenu() {\r\n return _ContextMenu.apply(this, arguments) || this\r\n }\r\n var _proto2 = DiagramContextMenu.prototype;\r\n _proto2._renderContextMenuOverlay = function() {\r\n var _this3 = this;\r\n _ContextMenu.prototype._renderContextMenuOverlay.call(this);\r\n if (this._overlay && this.option(\"isTouchBarMode\")) {\r\n this._overlay && this._overlay.option(\"onShown\", function() {\r\n var $content = (0, _renderer.default)(_this3._overlay.$content());\r\n $content.parent().addClass(DIAGRAM_TOUCHBAR_OVERLAY_CLASS)\r\n })\r\n }\r\n };\r\n return DiagramContextMenu\r\n}(_context_menu.default);\r\nvar DiagramContextMenuBar = function(_DiagramBar) {\r\n _inheritsLoose(DiagramContextMenuBar, _DiagramBar);\r\n\r\n function DiagramContextMenuBar(owner) {\r\n return _DiagramBar.call(this, owner) || this\r\n }\r\n var _proto3 = DiagramContextMenuBar.prototype;\r\n _proto3.getCommandKeys = function() {\r\n return this._getKeys(this._owner._commands)\r\n };\r\n _proto3.setItemValue = function(key, value) {\r\n this._owner._setItemValue(key, value)\r\n };\r\n _proto3.setItemEnabled = function(key, enabled) {\r\n this._owner._setItemEnabled(key, enabled)\r\n };\r\n _proto3.setItemVisible = function(key, visible) {\r\n this._owner._setItemVisible(key, visible)\r\n };\r\n _proto3.setItemSubItems = function(key, items) {\r\n this._owner._setItemSubItems(key, items)\r\n };\r\n _proto3.setEnabled = function(enabled) {\r\n this._owner._setEnabled(enabled)\r\n };\r\n _proto3.isVisible = function() {\r\n return this._owner.isVisible()\r\n };\r\n return DiagramContextMenuBar\r\n}(_diagram2.default);\r\nvar _default = {\r\n DiagramContextMenuWrapper: DiagramContextMenuWrapper,\r\n DiagramContextMenu: DiagramContextMenu\r\n};\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/diagram/ui.diagram.context_toolbox.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _popover = _interopRequireDefault(require(\"../popover\"));\r\nvar _diagram = require(\"./diagram.importer\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf || function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar DIAGRAM_CONTEXT_TOOLBOX_TARGET_CLASS = \"dx-diagram-context-toolbox-target\";\r\nvar DIAGRAM_CONTEXT_TOOLBOX_CLASS = \"dx-diagram-context-toolbox\";\r\nvar DIAGRAM_TOUCH_CONTEXT_TOOLBOX_CLASS = \"dx-diagram-touch-context-toolbox\";\r\nvar DIAGRAM_CONTEXT_TOOLBOX_CONTENT_CLASS = \"dx-diagram-context-toolbox-content\";\r\nvar DiagramContextToolbox = function(_Widget) {\r\n _inheritsLoose(DiagramContextToolbox, _Widget);\r\n\r\n function DiagramContextToolbox() {\r\n return _Widget.apply(this, arguments) || this\r\n }\r\n var _proto = DiagramContextToolbox.prototype;\r\n _proto._init = function() {\r\n _Widget.prototype._init.call(this);\r\n this._onShownAction = this._createActionByOption(\"onShown\");\r\n this._popoverPositionData = [{\r\n my: {\r\n x: \"center\",\r\n y: \"top\"\r\n },\r\n at: {\r\n x: \"center\",\r\n y: \"bottom\"\r\n },\r\n offset: {\r\n x: 0,\r\n y: 5\r\n }\r\n }, {\r\n my: {\r\n x: \"right\",\r\n y: \"center\"\r\n },\r\n at: {\r\n x: \"left\",\r\n y: \"center\"\r\n },\r\n offset: {\r\n x: -5,\r\n y: 0\r\n }\r\n }, {\r\n my: {\r\n x: \"center\",\r\n y: \"bottom\"\r\n },\r\n at: {\r\n x: \"center\",\r\n y: \"top\"\r\n },\r\n offset: {\r\n x: 0,\r\n y: -5\r\n }\r\n }, {\r\n my: {\r\n x: \"left\",\r\n y: \"center\"\r\n },\r\n at: {\r\n x: \"right\",\r\n y: \"center\"\r\n },\r\n offset: {\r\n x: 5,\r\n y: 0\r\n }\r\n }]\r\n };\r\n _proto._initMarkup = function() {\r\n _Widget.prototype._initMarkup.call(this);\r\n this._$popoverTargetElement = (0, _renderer.default)(\"
\").addClass(DIAGRAM_CONTEXT_TOOLBOX_TARGET_CLASS).appendTo(this.$element());\r\n var $popoverElement = (0, _renderer.default)(\"
\").appendTo(this.$element());\r\n var _getDiagram = (0, _diagram.getDiagram)(),\r\n Browser = _getDiagram.Browser;\r\n var popoverClass = DIAGRAM_CONTEXT_TOOLBOX_CLASS;\r\n if (Browser.TouchUI) {\r\n popoverClass += \" \" + DIAGRAM_TOUCH_CONTEXT_TOOLBOX_CLASS\r\n }\r\n this._popoverInstance = this._createComponent($popoverElement, _popover.default, {\r\n closeOnOutsideClick: false,\r\n container: this.$element(),\r\n elementAttr: {\r\n \"class\": popoverClass\r\n }\r\n })\r\n };\r\n _proto._show = function(x, y, side, category, callback) {\r\n this._popoverInstance.hide();\r\n var $content = (0, _renderer.default)(\"
\").addClass(DIAGRAM_CONTEXT_TOOLBOX_CONTENT_CLASS);\r\n if (void 0 !== this.option(\"toolboxWidth\")) {\r\n $content.css(\"width\", this.option(\"toolboxWidth\"))\r\n }\r\n this._$popoverTargetElement.css({\r\n left: x + this._popoverPositionData[side].offset.x,\r\n top: y + this._popoverPositionData[side].offset.y\r\n }).show();\r\n this._popoverInstance.option({\r\n position: {\r\n my: this._popoverPositionData[side].my,\r\n at: this._popoverPositionData[side].at,\r\n of: this._$popoverTargetElement\r\n },\r\n contentTemplate: $content,\r\n onContentReady: function() {\r\n var _this = this;\r\n var $element = this.$element().find(\".\" + DIAGRAM_CONTEXT_TOOLBOX_CONTENT_CLASS);\r\n this._onShownAction({\r\n category: category,\r\n callback: callback,\r\n $element: $element,\r\n hide: function() {\r\n return _this._popoverInstance.hide()\r\n }\r\n })\r\n }.bind(this)\r\n });\r\n this._popoverInstance.show()\r\n };\r\n _proto._hide = function() {\r\n this._$popoverTargetElement.hide();\r\n this._popoverInstance.hide()\r\n };\r\n return DiagramContextToolbox\r\n}(_ui.default);\r\nvar _default = DiagramContextToolbox;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/diagram/ui.diagram.dialogs.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _popup = _interopRequireDefault(require(\"../popup\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf || function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar DiagramDialog = function(_Widget) {\r\n _inheritsLoose(DiagramDialog, _Widget);\r\n\r\n function DiagramDialog() {\r\n return _Widget.apply(this, arguments) || this\r\n }\r\n var _proto = DiagramDialog.prototype;\r\n _proto._init = function() {\r\n _Widget.prototype._init.call(this);\r\n this._command = void 0;\r\n this._isShown = false;\r\n this._createOnGetContentOption();\r\n this._createOnHiddenOption()\r\n };\r\n _proto._initMarkup = function() {\r\n _Widget.prototype._initMarkup.call(this);\r\n this._command = this.option(\"command\");\r\n this._$popupElement = (0, _renderer.default)(\"
\").appendTo(this.$element());\r\n this._popup = this._createComponent(this._$popupElement, _popup.default, {\r\n title: this.option(\"title\"),\r\n maxWidth: this.option(\"maxWidth\"),\r\n height: this.option(\"height\"),\r\n toolbarItems: this.option(\"toolbarItems\"),\r\n onHidden: this._onHiddenAction\r\n })\r\n };\r\n _proto._clean = function() {\r\n delete this._popup;\r\n this._$popupElement && this._$popupElement.remove()\r\n };\r\n _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), {\r\n title: \"\",\r\n maxWidth: 500,\r\n height: \"auto\",\r\n toolbarItems: this._getToolbarItems()\r\n })\r\n };\r\n _proto._getToolbarItems = function() {\r\n return [this._getOkToolbarItem(), this._getCancelToolbarItem()]\r\n };\r\n _proto._getOkToolbarItem = function() {\r\n return {\r\n widget: \"dxButton\",\r\n location: \"after\",\r\n toolbar: \"bottom\",\r\n options: {\r\n text: _message.default.format(\"dxDiagram-dialogButtonOK\"),\r\n onClick: function() {\r\n this._command.execute(this._commandParameter);\r\n this._hide()\r\n }.bind(this)\r\n }\r\n }\r\n };\r\n _proto._getCancelToolbarItem = function() {\r\n return {\r\n widget: \"dxButton\",\r\n location: \"after\",\r\n toolbar: \"bottom\",\r\n options: {\r\n text: _message.default.format(\"dxDiagram-dialogButtonCancel\"),\r\n onClick: this._hide.bind(this)\r\n }\r\n }\r\n };\r\n _proto._optionChanged = function(args) {\r\n switch (args.name) {\r\n case \"title\":\r\n case \"maxWidth\":\r\n case \"height\":\r\n case \"toolbarItems\":\r\n this._popup.option(args.name, args.value);\r\n break;\r\n case \"command\":\r\n this._command = args.value;\r\n break;\r\n case \"onGetContent\":\r\n this._createOnGetContentOption();\r\n break;\r\n case \"onHidden\":\r\n this._createOnHiddenOption();\r\n break;\r\n default:\r\n _Widget.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n _proto._createOnGetContentOption = function() {\r\n this._onGetContentAction = this._createActionByOption(\"onGetContent\")\r\n };\r\n _proto._createOnHiddenOption = function() {\r\n this._onHiddenAction = this._createActionByOption(\"onHidden\")\r\n };\r\n _proto._hide = function() {\r\n this._popup.hide();\r\n this._isShown = false\r\n };\r\n _proto._show = function() {\r\n this._popup.$content().empty().append(this._onGetContentAction());\r\n this._popup.show();\r\n this._isShown = true\r\n };\r\n _proto.isVisible = function() {\r\n return this._isShown\r\n };\r\n return DiagramDialog\r\n}(_ui.default);\r\nvar _default = DiagramDialog;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/diagram/ui.diagram.scroll_view.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _scroll_view = _interopRequireDefault(require(\"../scroll_view\"));\r\nvar _diagram = require(\"./diagram.importer\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf || function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar DiagramScrollView = function(_Widget) {\r\n _inheritsLoose(DiagramScrollView, _Widget);\r\n\r\n function DiagramScrollView() {\r\n return _Widget.apply(this, arguments) || this\r\n }\r\n var _proto = DiagramScrollView.prototype;\r\n _proto._init = function() {\r\n _Widget.prototype._init.call(this);\r\n var _getDiagram = (0, _diagram.getDiagram)(),\r\n EventDispatcher = _getDiagram.EventDispatcher;\r\n this.onScroll = new EventDispatcher;\r\n this._createOnCreateDiagramAction()\r\n };\r\n _proto._initMarkup = function() {\r\n var _this = this;\r\n _Widget.prototype._initMarkup.call(this);\r\n var $scrollViewWrapper = (0, _renderer.default)(\"
\").appendTo(this.$element());\r\n this._scrollView = this._createComponent($scrollViewWrapper, _scroll_view.default, {\r\n direction: \"both\",\r\n bounceEnabled: false,\r\n onScroll: function(_ref) {\r\n var scrollOffset = _ref.scrollOffset;\r\n _this._raiseOnScroll(scrollOffset.left, scrollOffset.top)\r\n }\r\n });\r\n this._onCreateDiagramAction({\r\n $parent: (0, _renderer.default)(this._scrollView.content()),\r\n scrollView: this\r\n })\r\n };\r\n _proto.setScroll = function(left, top) {\r\n this._scrollView.scrollTo({\r\n left: left,\r\n top: top\r\n });\r\n this._raiseOnScrollWithoutPoint()\r\n };\r\n _proto.offsetScroll = function(left, top) {\r\n this._scrollView.scrollBy({\r\n left: left,\r\n top: top\r\n });\r\n this._raiseOnScrollWithoutPoint()\r\n };\r\n _proto.getSize = function() {\r\n var _getDiagram2 = (0, _diagram.getDiagram)(),\r\n Size = _getDiagram2.Size;\r\n var $element = this._scrollView.$element();\r\n return new Size(Math.floor($element.width()), Math.floor($element.height()))\r\n };\r\n _proto.getScrollContainer = function() {\r\n return this._scrollView.$element()[0]\r\n };\r\n _proto.getScrollBarWidth = function() {\r\n return 0\r\n };\r\n _proto.detachEvents = function() {};\r\n _proto._raiseOnScroll = function(left, top) {\r\n var _getDiagram3 = (0, _diagram.getDiagram)(),\r\n Point = _getDiagram3.Point;\r\n this.onScroll.raise(\"notifyScrollChanged\", function() {\r\n return new Point(left, top)\r\n })\r\n };\r\n _proto._raiseOnScrollWithoutPoint = function() {\r\n var _this2 = this;\r\n var _getDiagram4 = (0, _diagram.getDiagram)(),\r\n Point = _getDiagram4.Point;\r\n this.onScroll.raise(\"notifyScrollChanged\", function() {\r\n return new Point(_this2._scrollView.scrollLeft(), _this2._scrollView.scrollTop())\r\n })\r\n };\r\n _proto._createOnCreateDiagramAction = function() {\r\n this._onCreateDiagramAction = this._createActionByOption(\"onCreateDiagram\")\r\n };\r\n _proto._optionChanged = function(args) {\r\n switch (args.name) {\r\n case \"onCreateDiagram\":\r\n this._createOnCreateDiagramAction();\r\n break;\r\n default:\r\n _Widget.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n return DiagramScrollView\r\n}(_ui.default);\r\nvar _default = DiagramScrollView;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/diagram/diagram.toolbox_manager.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar DiagramToolboxManager = {\r\n getDefaultGroups: function() {\r\n return this._groups || (this._groups = {\r\n general: {\r\n category: \"general\",\r\n title: _message.default.format(\"dxDiagram-categoryGeneral\")\r\n },\r\n flowchart: {\r\n category: \"flowchart\",\r\n title: _message.default.format(\"dxDiagram-categoryFlowchart\")\r\n },\r\n orgChart: {\r\n category: \"orgChart\",\r\n title: _message.default.format(\"dxDiagram-categoryOrgChart\")\r\n },\r\n containers: {\r\n category: \"containers\",\r\n title: _message.default.format(\"dxDiagram-categoryContainers\")\r\n },\r\n custom: {\r\n category: \"custom\",\r\n title: _message.default.format(\"dxDiagram-categoryCustom\")\r\n }\r\n })\r\n },\r\n getGroups: function(groups) {\r\n var defaultGroups = this.getDefaultGroups();\r\n if (groups) {\r\n return groups.map(function(g) {\r\n if (\"string\" === typeof g) {\r\n return {\r\n category: g,\r\n title: defaultGroups[g] && defaultGroups[g].title || g\r\n }\r\n }\r\n return g\r\n }).filter(function(g) {\r\n return g\r\n })\r\n }\r\n return [defaultGroups.general, defaultGroups.flowchart, defaultGroups.orgChart, defaultGroups.containers]\r\n }\r\n};\r\nvar _default = DiagramToolboxManager;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/diagram/ui.diagram.toolbox.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _text_box = _interopRequireDefault(require(\"../text_box\"));\r\nvar _accordion = _interopRequireDefault(require(\"../accordion\"));\r\nvar _scroll_view = _interopRequireDefault(require(\"../scroll_view\"));\r\nvar _tooltip = _interopRequireDefault(require(\"../tooltip\"));\r\nvar _diagram = require(\"./diagram.importer\");\r\nvar _uiDiagram = _interopRequireDefault(require(\"./ui.diagram.floating_panel\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf || function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar DIAGRAM_TOOLBOX_MIN_HEIGHT = 130;\r\nvar DIAGRAM_TOOLBOX_POPUP_CLASS = \"dx-diagram-toolbox-popup\";\r\nvar DIAGRAM_TOOLBOX_PANEL_CLASS = \"dx-diagram-toolbox-panel\";\r\nvar DIAGRAM_TOOLBOX_INPUT_CONTAINER_CLASS = \"dx-diagram-toolbox-input-container\";\r\nvar DIAGRAM_TOOLBOX_INPUT_CLASS = \"dx-diagram-toolbox-input\";\r\nvar DIAGRAM_TOOLTIP_DATATOGGLE = \"shape-toolbox-tooltip\";\r\nvar DIAGRAM_SKIP_GESTURE_CLASS = \"dx-skip-gesture-event\";\r\nvar DiagramToolbox = function(_DiagramFloatingPanel) {\r\n _inheritsLoose(DiagramToolbox, _DiagramFloatingPanel);\r\n\r\n function DiagramToolbox() {\r\n return _DiagramFloatingPanel.apply(this, arguments) || this\r\n }\r\n var _proto = DiagramToolbox.prototype;\r\n _proto._init = function() {\r\n _DiagramFloatingPanel.prototype._init.call(this);\r\n this._toolboxes = [];\r\n this._filterText = \"\";\r\n this._createOnShapeCategoryRenderedAction();\r\n this._createOnFilterChangedAction()\r\n };\r\n _proto._getPopupClass = function() {\r\n return DIAGRAM_TOOLBOX_POPUP_CLASS\r\n };\r\n _proto._getPopupHeight = function() {\r\n return this.isMobileView() ? \"100%\" : _DiagramFloatingPanel.prototype._getPopupHeight.call(this)\r\n };\r\n _proto._getPopupMaxHeight = function() {\r\n return this.isMobileView() ? \"100%\" : _DiagramFloatingPanel.prototype._getPopupMaxHeight.call(this)\r\n };\r\n _proto._getPopupMinHeight = function() {\r\n return DIAGRAM_TOOLBOX_MIN_HEIGHT\r\n };\r\n _proto._getPopupPosition = function() {\r\n var $parent = this.option(\"offsetParent\");\r\n var position = {\r\n my: \"left top\",\r\n at: \"left top\",\r\n of: $parent\r\n };\r\n if (!this.isMobileView()) {\r\n return (0, _extend.extend)(position, {\r\n offset: this.option(\"offsetX\") + \" \" + this.option(\"offsetY\")\r\n })\r\n }\r\n return position\r\n };\r\n _proto._getPopupAnimation = function() {\r\n var $parent = this.option(\"offsetParent\");\r\n if (this.isMobileView()) {\r\n return {\r\n hide: this._getPopupSlideAnimationObject({\r\n direction: \"left\",\r\n from: {\r\n position: {\r\n my: \"left top\",\r\n at: \"left top\",\r\n of: $parent\r\n }\r\n },\r\n to: {\r\n position: {\r\n my: \"right top\",\r\n at: \"left top\",\r\n of: $parent\r\n }\r\n }\r\n }),\r\n show: this._getPopupSlideAnimationObject({\r\n direction: \"right\",\r\n from: {\r\n position: {\r\n my: \"right top\",\r\n at: \"left top\",\r\n of: $parent\r\n }\r\n },\r\n to: {\r\n position: {\r\n my: \"left top\",\r\n at: \"left top\",\r\n of: $parent\r\n }\r\n }\r\n })\r\n }\r\n }\r\n return _DiagramFloatingPanel.prototype._getPopupAnimation.call(this)\r\n };\r\n _proto._getPopupOptions = function() {\r\n var options = _DiagramFloatingPanel.prototype._getPopupOptions.call(this);\r\n if (!this.isMobileView()) {\r\n return (0, _extend.extend)(options, {\r\n showTitle: true,\r\n toolbarItems: [{\r\n widget: \"dxButton\",\r\n location: \"center\",\r\n options: {\r\n activeStateEnabled: false,\r\n focusStateEnabled: false,\r\n hoverStateEnabled: false,\r\n icon: \"diagram-toolbox-drag\",\r\n stylingMode: \"outlined\",\r\n type: \"normal\"\r\n }\r\n }]\r\n })\r\n }\r\n return options\r\n };\r\n _proto._renderPopupContent = function($parent) {\r\n var panelHeight = \"100%\";\r\n if (this.option(\"showSearch\")) {\r\n var $inputContainer = (0, _renderer.default)(\"
\").addClass(DIAGRAM_TOOLBOX_INPUT_CONTAINER_CLASS).appendTo($parent);\r\n this._updateElementWidth($inputContainer);\r\n this._renderSearchInput($inputContainer);\r\n if ((0, _window.hasWindow)()) {\r\n panelHeight = \"calc(100% - \" + this._searchInput.$element().height() + \"px)\"\r\n }\r\n }\r\n var $panel = (0, _renderer.default)(\"
\").addClass(DIAGRAM_TOOLBOX_PANEL_CLASS).appendTo($parent).height(panelHeight);\r\n this._updateElementWidth($panel);\r\n this._renderScrollView($panel)\r\n };\r\n _proto._updateElementWidth = function($element) {\r\n if (void 0 !== this.option(\"toolboxWidth\")) {\r\n $element.css(\"width\", this.option(\"toolboxWidth\"))\r\n }\r\n };\r\n _proto.updateMaxHeight = function() {\r\n if (this.isMobileView()) {\r\n return\r\n }\r\n var maxHeight = 6;\r\n if (this._popup) {\r\n var $title = this._getPopupTitle();\r\n maxHeight += $title.outerHeight()\r\n }\r\n if (this._accordion) {\r\n maxHeight += this._accordion.$element().outerHeight()\r\n }\r\n if (this._searchInput) {\r\n maxHeight += this._searchInput.$element().outerHeight()\r\n }\r\n this.option(\"maxHeight\", maxHeight)\r\n };\r\n _proto._renderSearchInput = function($parent) {\r\n var _this = this;\r\n var $input = (0, _renderer.default)(\"
\").addClass(DIAGRAM_TOOLBOX_INPUT_CLASS).appendTo($parent);\r\n this._searchInput = this._createComponent($input, _text_box.default, {\r\n stylingMode: \"outlined\",\r\n placeholder: _message.default.format(\"dxDiagram-uiSearch\"),\r\n onValueChanged: function(data) {\r\n _this._onInputChanged(data.value)\r\n },\r\n valueChangeEvent: \"keyup\",\r\n buttons: [{\r\n name: \"search\",\r\n location: \"after\",\r\n options: {\r\n activeStateEnabled: false,\r\n focusStateEnabled: false,\r\n hoverStateEnabled: false,\r\n icon: \"search\",\r\n stylingMode: \"outlined\",\r\n type: \"normal\",\r\n onClick: function() {\r\n _this._searchInput.focus()\r\n }\r\n }\r\n }]\r\n })\r\n };\r\n _proto._renderScrollView = function($parent) {\r\n var $scrollViewWrapper = (0, _renderer.default)(\"
\").appendTo($parent);\r\n this._scrollView = this._createComponent($scrollViewWrapper, _scroll_view.default);\r\n var $accordion = (0, _renderer.default)(\"
\").appendTo(this._scrollView.content());\r\n this._updateElementWidth($accordion);\r\n this._renderAccordion($accordion)\r\n };\r\n _proto._getAccordionDataSource = function() {\r\n var _this2 = this;\r\n var result = [];\r\n var toolboxGroups = this.option(\"toolboxGroups\");\r\n for (var i = 0; i < toolboxGroups.length; i++) {\r\n var category = toolboxGroups[i].category;\r\n var title = toolboxGroups[i].title;\r\n var groupObj = {\r\n category: category,\r\n title: title || category,\r\n expanded: toolboxGroups[i].expanded,\r\n displayMode: toolboxGroups[i].displayMode,\r\n shapes: toolboxGroups[i].shapes,\r\n onTemplate: function(widget, $element, data) {\r\n var $toolboxElement = (0, _renderer.default)($element);\r\n _this2._onShapeCategoryRenderedAction({\r\n category: data.category,\r\n displayMode: data.displayMode,\r\n dataToggle: DIAGRAM_TOOLTIP_DATATOGGLE,\r\n shapes: data.shapes,\r\n $element: $toolboxElement\r\n });\r\n _this2._toolboxes.push($toolboxElement);\r\n if (\"\" !== _this2._filterText) {\r\n _this2._onFilterChangedAction({\r\n text: _this2._filterText,\r\n filteringToolboxes: _this2._toolboxes.length - 1\r\n })\r\n }\r\n _this2._createTooltips($toolboxElement.find('[data-toggle=\"' + DIAGRAM_TOOLTIP_DATATOGGLE + '\"]'))\r\n }\r\n };\r\n result.push(groupObj)\r\n }\r\n return result\r\n };\r\n _proto._createTooltips = function(targets) {\r\n var _this3 = this;\r\n var _getDiagram = (0, _diagram.getDiagram)(),\r\n Browser = _getDiagram.Browser;\r\n if (Browser.TouchUI) {\r\n return\r\n }\r\n var $container = this.$element();\r\n targets.each(function(index, element) {\r\n var $target = (0, _renderer.default)(element);\r\n var title = $target.attr(\"title\");\r\n if (title) {\r\n var $tooltip = (0, _renderer.default)(\"
\").html(title).appendTo($container);\r\n _this3._createComponent($tooltip, _tooltip.default, {\r\n target: $target.get(0),\r\n showEvent: \"mouseenter\",\r\n hideEvent: \"mouseleave\",\r\n position: \"top\",\r\n animation: {\r\n show: {\r\n type: \"fade\",\r\n from: 0,\r\n to: 1,\r\n delay: 500\r\n },\r\n hide: {\r\n type: \"fade\",\r\n from: 1,\r\n to: 0,\r\n delay: 100\r\n }\r\n }\r\n })\r\n }\r\n })\r\n };\r\n _proto._renderAccordion = function($container) {\r\n var _this4 = this;\r\n var data = this._getAccordionDataSource();\r\n this._accordion = this._createComponent($container, _accordion.default, {\r\n multiple: true,\r\n animationDuration: 0,\r\n activeStateEnabled: false,\r\n focusStateEnabled: false,\r\n hoverStateEnabled: false,\r\n collapsible: true,\r\n displayExpr: \"title\",\r\n dataSource: data,\r\n disabled: this.option(\"disabled\"),\r\n itemTemplate: function(data, index, $element) {\r\n data.onTemplate(_this4, $element, data)\r\n },\r\n onSelectionChanged: function(e) {\r\n _this4._updateScrollAnimateSubscription(e.component)\r\n },\r\n onContentReady: function(e) {\r\n for (var i = 0; i < data.length; i++) {\r\n if (false === data[i].expanded) {\r\n e.component.collapseItem(i)\r\n } else {\r\n if (true === data[i].expanded) {\r\n e.component.expandItem(i)\r\n }\r\n }\r\n }\r\n _this4._updateScrollAnimateSubscription(e.component)\r\n }\r\n })\r\n };\r\n _proto._updateScrollAnimateSubscription = function(component) {\r\n var _this5 = this;\r\n component._deferredAnimate = new _deferred.Deferred;\r\n component._deferredAnimate.done(function() {\r\n _this5.updateMaxHeight();\r\n _this5._scrollView.update();\r\n _this5._updateScrollAnimateSubscription(component)\r\n })\r\n };\r\n _proto._raiseToolboxDragStart = function() {\r\n this._scrollView.$element().addClass(DIAGRAM_SKIP_GESTURE_CLASS)\r\n };\r\n _proto._raiseToolboxDragEnd = function() {\r\n this._scrollView.$element().removeClass(DIAGRAM_SKIP_GESTURE_CLASS)\r\n };\r\n _proto._onInputChanged = function(text) {\r\n var _this6 = this;\r\n this._filterText = text;\r\n this._onFilterChangedAction({\r\n text: this._filterText,\r\n filteringToolboxes: this._toolboxes.map(function($element, index) {\r\n return index\r\n })\r\n });\r\n this._toolboxes.forEach(function($element) {\r\n var $tooltipContainer = (0, _renderer.default)($element);\r\n _this6._createTooltips($tooltipContainer.find('[data-toggle=\"' + DIAGRAM_TOOLTIP_DATATOGGLE + '\"]'))\r\n });\r\n this.updateMaxHeight();\r\n this._scrollView.update()\r\n };\r\n _proto._createOnShapeCategoryRenderedAction = function() {\r\n this._onShapeCategoryRenderedAction = this._createActionByOption(\"onShapeCategoryRendered\")\r\n };\r\n _proto._createOnFilterChangedAction = function() {\r\n this._onFilterChangedAction = this._createActionByOption(\"onFilterChanged\")\r\n };\r\n _proto._optionChanged = function(args) {\r\n switch (args.name) {\r\n case \"onShapeCategoryRendered\":\r\n this._createOnShapeCategoryRenderedAction();\r\n break;\r\n case \"onFilterChanged\":\r\n this._createOnFilterChangedAction();\r\n break;\r\n case \"showSearch\":\r\n case \"toolboxWidth\":\r\n this._invalidate();\r\n break;\r\n case \"toolboxGroups\":\r\n this._accordion.option(\"dataSource\", this._getAccordionDataSource());\r\n break;\r\n default:\r\n _DiagramFloatingPanel.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n return DiagramToolbox\r\n}(_uiDiagram.default);\r\nvar _default = DiagramToolbox;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/diagram/ui.diagram.properties_panel.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _scroll_view = _interopRequireDefault(require(\"../scroll_view\"));\r\nvar _tab_panel = _interopRequireDefault(require(\"../tab_panel\"));\r\nvar _uiDiagram = _interopRequireDefault(require(\"./ui.diagram.floating_panel\"));\r\nvar _diagram = _interopRequireDefault(require(\"./diagram.commands_manager\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf || function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar DIAGRAM_PROPERTIES_POPUP_WIDTH = 420;\r\nvar DIAGRAM_PROPERTIES_POPUP_HEIGHT = 340;\r\nvar DIAGRAM_PROPERTIES_POPUP_CLASS = \"dx-diagram-properties-popup\";\r\nvar DIAGRAM_PROPERTIES_POPUP_NOTABS_CLASS = \"dx-diagram-properties-popup-notabs\";\r\nvar DIAGRAM_PROPERTIES_PANEL_CLASS = \"dx-diagram-properties-panel\";\r\nvar DIAGRAM_PROPERTIES_PANEL_GROUP_TITLE_CLASS = \"dx-diagram-properties-panel-group-title\";\r\nvar DIAGRAM_PROPERTIES_PANEL_GROUP_TOOLBAR_CLASS = \"dx-diagram-properties-panel-group-toolbar\";\r\nvar DiagramPropertiesPanel = function(_DiagramFloatingPanel) {\r\n _inheritsLoose(DiagramPropertiesPanel, _DiagramFloatingPanel);\r\n\r\n function DiagramPropertiesPanel() {\r\n return _DiagramFloatingPanel.apply(this, arguments) || this\r\n }\r\n var _proto = DiagramPropertiesPanel.prototype;\r\n _proto._init = function() {\r\n _DiagramFloatingPanel.prototype._init.call(this);\r\n this._commandTabs = _diagram.default.getPropertyPanelCommandTabs(this.option(\"propertyTabs\"));\r\n this._createOnCreateToolbar();\r\n this._createOnSelectedGroupChanged()\r\n };\r\n _proto._initMarkup = function() {\r\n this._toolbars = [];\r\n this._selectedToolbar = void 0;\r\n _DiagramFloatingPanel.prototype._initMarkup.call(this)\r\n };\r\n _proto._getPopupClass = function() {\r\n var className = DIAGRAM_PROPERTIES_POPUP_CLASS;\r\n if (!this._hasTabPanel()) {\r\n className += \" \" + DIAGRAM_PROPERTIES_POPUP_NOTABS_CLASS\r\n }\r\n return className\r\n };\r\n _proto._getPopupWidth = function() {\r\n return this.isMobileView() ? \"100%\" : DIAGRAM_PROPERTIES_POPUP_WIDTH\r\n };\r\n _proto._getPopupHeight = function() {\r\n return DIAGRAM_PROPERTIES_POPUP_HEIGHT\r\n };\r\n _proto._getPopupPosition = function() {\r\n var $parent = this.option(\"offsetParent\");\r\n if (this.isMobileView()) {\r\n return {\r\n my: \"left bottom\",\r\n at: \"left bottom\",\r\n of: $parent\r\n }\r\n }\r\n return {\r\n my: \"right bottom\",\r\n at: \"right bottom\",\r\n of: $parent,\r\n offset: \"-\" + this.option(\"offsetX\") + \" -\" + this.option(\"offsetY\")\r\n }\r\n };\r\n _proto._getPopupAnimation = function() {\r\n var $parent = this.option(\"offsetParent\");\r\n if (this.isMobileView()) {\r\n return {\r\n hide: this._getPopupSlideAnimationObject({\r\n direction: \"bottom\",\r\n from: {\r\n position: {\r\n my: \"left bottom\",\r\n at: \"left bottom\",\r\n of: $parent\r\n }\r\n },\r\n to: {\r\n position: {\r\n my: \"left top\",\r\n at: \"left bottom\",\r\n of: $parent\r\n }\r\n }\r\n }),\r\n show: this._getPopupSlideAnimationObject({\r\n direction: \"top\",\r\n from: {\r\n position: {\r\n my: \"left top\",\r\n at: \"left bottom\",\r\n of: $parent\r\n }\r\n },\r\n to: {\r\n position: {\r\n my: \"left bottom\",\r\n at: \"left bottom\",\r\n of: $parent\r\n }\r\n }\r\n })\r\n }\r\n }\r\n return _DiagramFloatingPanel.prototype._getPopupAnimation.call(this)\r\n };\r\n _proto._getPopupOptions = function() {\r\n return (0, _extend.extend)(_DiagramFloatingPanel.prototype._getPopupOptions.call(this), {\r\n showTitle: this.isMobileView(),\r\n showCloseButton: this.isMobileView()\r\n })\r\n };\r\n _proto._renderPopupContent = function($parent) {\r\n if (!this._commandTabs.length) {\r\n return\r\n }\r\n var $panel = (0, _renderer.default)(\"
\").addClass(DIAGRAM_PROPERTIES_PANEL_CLASS).appendTo($parent);\r\n if (this._hasTabPanel()) {\r\n this._renderTabPanel($panel)\r\n } else {\r\n this._renderTabContent($panel, this._commandTabs[0], 0, true)\r\n }\r\n };\r\n _proto._hasTabPanel = function() {\r\n return this._commandTabs.length > 1\r\n };\r\n _proto._renderTabPanel = function($parent) {\r\n var _this = this;\r\n var $tabPanel = (0, _renderer.default)(\"
\").appendTo($parent);\r\n this._tabPanel = this._createComponent($tabPanel, _tab_panel.default, {\r\n focusStateEnabled: false,\r\n dataSource: this._commandTabs,\r\n itemTemplate: function(data, index, $element) {\r\n _this._renderTabContent($element, data, index)\r\n },\r\n onSelectionChanged: function(e) {\r\n _this._onSelectedGroupChangedAction();\r\n _this._onPointerUpAction()\r\n },\r\n onContentReady: function(e) {\r\n _this._popup.option(\"height\", e.component.$element().height() + _this._getVerticalPaddingsAndBorders());\r\n if (_this._firstScrollView) {\r\n _this._scrollViewHeight = _this._firstScrollView.$element().outerHeight();\r\n _this._firstScrollView.option(\"height\", _this._scrollViewHeight)\r\n }\r\n }\r\n })\r\n };\r\n _proto._renderTabContent = function($parent, tab, index, isSingleTab) {\r\n var $scrollViewWrapper = (0, _renderer.default)(\"
\").appendTo($parent);\r\n var scrollView = this._createComponent($scrollViewWrapper, _scroll_view.default, {\r\n height: this._scrollViewHeight\r\n });\r\n this._renderTabInnerContent(scrollView.content(), tab, index);\r\n if (isSingleTab) {\r\n this._popup.option(\"height\", scrollView.$element().height() + this._getVerticalPaddingsAndBorders())\r\n } else {\r\n this._firstScrollView = this._firstScrollView || scrollView\r\n }\r\n };\r\n _proto._renderTabInnerContent = function($parent, group, index) {\r\n var _this2 = this;\r\n if (group.groups) {\r\n group.groups.forEach(function(sg, si) {\r\n _this2._renderTabGroupContent($parent, index, sg.title, sg.commands)\r\n })\r\n } else {\r\n if (group.commands) {\r\n this._renderTabGroupContent($parent, index, void 0, group.commands)\r\n }\r\n }\r\n };\r\n _proto._renderTabGroupContent = function($parent, index, title, commands) {\r\n if (title) {\r\n (0, _renderer.default)(\"
\").addClass(DIAGRAM_PROPERTIES_PANEL_GROUP_TITLE_CLASS).appendTo($parent).text(title)\r\n }\r\n var $toolbar = (0, _renderer.default)(\"
\").addClass(DIAGRAM_PROPERTIES_PANEL_GROUP_TOOLBAR_CLASS).appendTo($parent);\r\n var args = {\r\n $parent: $toolbar,\r\n commands: commands\r\n };\r\n this._onCreateToolbarAction(args);\r\n if (!this._toolbars[index]) {\r\n this._toolbars[index] = []\r\n }\r\n this._toolbars[index].push(args.toolbar);\r\n this._selectedToolbar = args.toolbar\r\n };\r\n _proto.getActiveToolbars = function() {\r\n var index = this._tabPanel ? this._tabPanel.option(\"selectedIndex\") : 0;\r\n return this._toolbars[index]\r\n };\r\n _proto._createOnCreateToolbar = function() {\r\n this._onCreateToolbarAction = this._createActionByOption(\"onCreateToolbar\")\r\n };\r\n _proto._createOnSelectedGroupChanged = function() {\r\n this._onSelectedGroupChangedAction = this._createActionByOption(\"onSelectedGroupChanged\")\r\n };\r\n _proto._optionChanged = function(args) {\r\n switch (args.name) {\r\n case \"onCreateToolbar\":\r\n this._createOnCreateToolbar();\r\n break;\r\n case \"onSelectedGroupChanged\":\r\n this._createOnSelectedGroupChanged();\r\n break;\r\n case \"propertyTabs\":\r\n this._invalidate();\r\n break;\r\n default:\r\n _DiagramFloatingPanel.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n return DiagramPropertiesPanel\r\n}(_uiDiagram.default);\r\nvar _default = DiagramPropertiesPanel;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/diagram/diagram.options_update.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _diagram = _interopRequireDefault(require(\"./diagram.bar\"));\r\nvar _diagram2 = require(\"./diagram.importer\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n \"@babel/helpers - typeof\";\r\n if (\"function\" === typeof Symbol && \"symbol\" === typeof Symbol.iterator) {\r\n _typeof = function(obj) {\r\n return typeof obj\r\n }\r\n } else {\r\n _typeof = function(obj) {\r\n return obj && \"function\" === typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }\r\n }\r\n return _typeof(obj)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf || function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar DiagramOptionsUpdateBar = function(_DiagramBar) {\r\n _inheritsLoose(DiagramOptionsUpdateBar, _DiagramBar);\r\n\r\n function DiagramOptionsUpdateBar(owner) {\r\n var _this;\r\n _this = _DiagramBar.call(this, owner) || this;\r\n var _getDiagram = (0, _diagram2.getDiagram)(),\r\n DiagramCommand = _getDiagram.DiagramCommand;\r\n _this.commandOptions = {};\r\n _this.commandOptions[DiagramCommand.Fullscreen] = \"fullScreen\";\r\n _this.commandOptions[DiagramCommand.ZoomLevel] = function(value) {\r\n if (\"object\" === _typeof(this._getOption(\"zoomLevel\"))) {\r\n this._setOption(\"zoomLevel.value\", value)\r\n } else {\r\n this._setOption(\"zoomLevel\", value)\r\n }\r\n };\r\n _this.commandOptions[DiagramCommand.SwitchAutoZoom] = function(value) {\r\n var _getDiagram2 = (0, _diagram2.getDiagram)(),\r\n AutoZoomMode = _getDiagram2.AutoZoomMode;\r\n switch (value) {\r\n case AutoZoomMode.FitContent:\r\n this._setOption(\"autoZoomMode\", \"fitContent\");\r\n break;\r\n case AutoZoomMode.FitToWidth:\r\n this._setOption(\"autoZoomMode\", \"fitWidth\");\r\n break;\r\n case AutoZoomMode.Disabled:\r\n this._setOption(\"autoZoomMode\", \"disabled\")\r\n }\r\n };\r\n _this.commandOptions[DiagramCommand.ToggleSimpleView] = \"simpleView\";\r\n _this.commandOptions[DiagramCommand.ShowGrid] = \"showGrid\";\r\n _this.commandOptions[DiagramCommand.SnapToGrid] = \"snapToGrid\";\r\n _this.commandOptions[DiagramCommand.GridSize] = function(value) {\r\n if (\"object\" === _typeof(this._getOption(\"gridSize\"))) {\r\n this._setOption(\"gridSize.value\", value)\r\n } else {\r\n this._setOption(\"gridSize\", value)\r\n }\r\n };\r\n _this.commandOptions[DiagramCommand.ViewUnits] = \"viewUnits\";\r\n _this.commandOptions[DiagramCommand.PageSize] = function(value) {\r\n var pageSize = this._getOption(\"pageSize\");\r\n if (void 0 === pageSize || pageSize.width !== value.width || pageSize.height !== value.height) {\r\n this._setOption(\"pageSize\", value)\r\n }\r\n };\r\n _this.commandOptions[DiagramCommand.PageLandscape] = function(value) {\r\n this._setOption(\"pageOrientation\", value ? \"landscape\" : \"portrait\")\r\n };\r\n _this.commandOptions[DiagramCommand.ViewUnits] = function(value) {\r\n var _getDiagram3 = (0, _diagram2.getDiagram)(),\r\n DiagramUnit = _getDiagram3.DiagramUnit;\r\n switch (value) {\r\n case DiagramUnit.In:\r\n this._setOption(\"viewUnits\", \"in\");\r\n break;\r\n case DiagramUnit.Cm:\r\n this._setOption(\"viewUnits\", \"cm\");\r\n break;\r\n case DiagramUnit.Px:\r\n this._setOption(\"viewUnits\", \"px\")\r\n }\r\n };\r\n _this.commandOptions[DiagramCommand.PageColor] = \"pageColor\";\r\n _this._updateLock = 0;\r\n return _this\r\n }\r\n var _proto = DiagramOptionsUpdateBar.prototype;\r\n _proto.getCommandKeys = function() {\r\n return Object.keys(this.commandOptions).map(function(key) {\r\n return parseInt(key)\r\n })\r\n };\r\n _proto.setItemValue = function(key, value) {\r\n if (this.isUpdateLocked()) {\r\n return\r\n }\r\n this.beginUpdate();\r\n try {\r\n if (\"function\" === typeof this.commandOptions[key]) {\r\n this.commandOptions[key].call(this, value)\r\n } else {\r\n this._setOption(this.commandOptions[key], value)\r\n }\r\n } finally {\r\n this.endUpdate()\r\n }\r\n };\r\n _proto.beginUpdate = function() {\r\n this._updateLock++\r\n };\r\n _proto.endUpdate = function() {\r\n this._updateLock--\r\n };\r\n _proto.isUpdateLocked = function() {\r\n return this._updateLock > 0\r\n };\r\n _proto._getOption = function(name) {\r\n return this._owner.option(name)\r\n };\r\n _proto._setOption = function(name, value) {\r\n this._owner.option(name, value)\r\n };\r\n return DiagramOptionsUpdateBar\r\n}(_diagram.default);\r\nvar _default = DiagramOptionsUpdateBar;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/diagram/ui.diagram.dialog_manager.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _diagram = require(\"./diagram.importer\");\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _file_uploader = _interopRequireDefault(require(\"../file_uploader\"));\r\nvar _window = require(\"../../core/utils/window\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar DiagramDialogManager = {\r\n getConfigurations: function() {\r\n var _getDiagram = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram.DiagramCommand;\r\n return this.dialogList || (this.dialogList = [{\r\n command: DiagramCommand.InsertShapeImage,\r\n title: _message.default.format(\"dxDiagram-dialogInsertShapeImageTitle\"),\r\n onGetContent: this.getChangeImageDialogContent\r\n }, {\r\n command: DiagramCommand.EditShapeImage,\r\n title: _message.default.format(\"dxDiagram-dialogEditShapeImageTitle\"),\r\n onGetContent: this.getChangeImageDialogContent\r\n }])\r\n },\r\n getChangeImageDialogContent: function(args) {\r\n var $uploader = (0, _renderer.default)(\"
\");\r\n args.component._createComponent($uploader, _file_uploader.default, {\r\n selectButtonText: _message.default.format(\"dxDiagram-dialogEditShapeImageSelectButton\"),\r\n accept: \"image/*\",\r\n uploadMode: \"useForm\",\r\n onValueChanged: function(e) {\r\n var window = (0, _window.getWindow)();\r\n var reader = new window.FileReader;\r\n reader.onload = function(e) {\r\n args.component._commandParameter = e.target.result\r\n };\r\n reader.readAsDataURL(e.value[0])\r\n }\r\n });\r\n return $uploader\r\n },\r\n getDialogParameters: function(command) {\r\n var commandIndex = this.getConfigurations().map(function(c) {\r\n return c.command\r\n }).indexOf(command);\r\n if (commandIndex >= 0) {\r\n return this.getConfigurations()[commandIndex]\r\n } else {\r\n return null\r\n }\r\n }\r\n};\r\nvar _default = DiagramDialogManager;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/diagram/diagram.nodes_option.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _diagram = _interopRequireDefault(require(\"./diagram.items_option\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf || function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar NodesOption = function(_ItemsOption) {\r\n _inheritsLoose(NodesOption, _ItemsOption);\r\n\r\n function NodesOption() {\r\n return _ItemsOption.apply(this, arguments) || this\r\n }\r\n var _proto = NodesOption.prototype;\r\n _proto._getKeyExpr = function() {\r\n return this._diagramWidget._createOptionGetter(\"nodes.keyExpr\")\r\n };\r\n _proto._getItemsExpr = function() {\r\n return this._diagramWidget._createOptionGetter(\"nodes.itemsExpr\")\r\n };\r\n _proto._getContainerChildrenExpr = function() {\r\n return this._diagramWidget._createOptionGetter(\"nodes.containerChildrenExpr\")\r\n };\r\n return NodesOption\r\n}(_diagram.default);\r\nvar _default = NodesOption;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/diagram/diagram.edges_option.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _diagram = _interopRequireDefault(require(\"./diagram.items_option\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf || function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar EdgesOption = function(_ItemsOption) {\r\n _inheritsLoose(EdgesOption, _ItemsOption);\r\n\r\n function EdgesOption() {\r\n return _ItemsOption.apply(this, arguments) || this\r\n }\r\n var _proto = EdgesOption.prototype;\r\n _proto._getKeyExpr = function() {\r\n return this._diagramWidget._createOptionGetter(\"edges.keyExpr\")\r\n };\r\n return EdgesOption\r\n}(_diagram.default);\r\nvar _default = EdgesOption;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/diagram/diagram.importer.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n \"@babel/helpers - typeof\";\r\n if (\"function\" === typeof Symbol && \"symbol\" === typeof Symbol.iterator) {\r\n _typeof = function(obj) {\r\n return typeof obj\r\n }\r\n } else {\r\n _typeof = function(obj) {\r\n return obj && \"function\" === typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }\r\n }\r\n return _typeof(obj)\r\n}\r\nexports.getDiagram = getDiagram;\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.errors\"));\r\nvar Diagram = _interopRequireWildcard(require(\"devexpress-diagram\"));\r\n\r\nfunction _getRequireWildcardCache() {\r\n if (\"function\" !== typeof WeakMap) {\r\n return null\r\n }\r\n var cache = new WeakMap;\r\n _getRequireWildcardCache = function() {\r\n return cache\r\n };\r\n return cache\r\n}\r\n\r\nfunction _interopRequireWildcard(obj) {\r\n if (obj && obj.__esModule) {\r\n return obj\r\n }\r\n if (null === obj || \"object\" !== _typeof(obj) && \"function\" !== typeof obj) {\r\n return {\r\n \"default\": obj\r\n }\r\n }\r\n var cache = _getRequireWildcardCache();\r\n if (cache && cache.has(obj)) {\r\n return cache.get(obj)\r\n }\r\n var newObj = {};\r\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\r\n for (var key in obj) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\r\n if (desc && (desc.get || desc.set)) {\r\n Object.defineProperty(newObj, key, desc)\r\n } else {\r\n newObj[key] = obj[key]\r\n }\r\n }\r\n }\r\n newObj.default = obj;\r\n if (cache) {\r\n cache.set(obj, newObj)\r\n }\r\n return newObj\r\n}\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction getDiagram() {\r\n if (!Diagram.default) {\r\n throw _ui.default.Error(\"E1041\", \"devexpress-diagram\")\r\n }\r\n return Diagram\r\n}\r\n","/**\r\n * DevExtreme (ui/diagram/diagram.commands_manager.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _diagram = require(\"./diagram.importer\");\r\nvar _file_saver = require(\"../../exporter/file_saver\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar SEPARATOR = \"separator\";\r\nvar SEPARATOR_COMMAND = {\r\n widget: SEPARATOR\r\n};\r\nvar CSS_CLASSES = {\r\n SMALL_EDITOR_ITEM: \"dx-diagram-sm-edit-item\",\r\n MEDIUM_EDITOR_ITEM: \"dx-diagram-md-edit-item\",\r\n LARGE_EDITOR_ITEM: \"dx-diagram-lg-edit-item\",\r\n IMAGE_DROPDOWN_ITEM: \"dx-diagram-image-dropdown-item\",\r\n COLOR_EDITOR_ITEM: \"dx-diagram-color-edit-item\",\r\n LARGE_ICON_ITEM: \"dx-diagram-lg-icon-item\"\r\n};\r\nvar DiagramCommandsManager = {\r\n SHOW_TOOLBOX_COMMAND_NAME: \"toolbox\",\r\n SHOW_PROPERTIES_PANEL_COMMAND_NAME: \"propertiesPanel\",\r\n getAllCommands: function() {\r\n var _this = this;\r\n var _getDiagram = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram.DiagramCommand;\r\n return this._allCommands || (this._allCommands = {\r\n separator: SEPARATOR_COMMAND,\r\n exportSvg: {\r\n command: DiagramCommand.ExportSvg,\r\n text: _message.default.format(\"dxDiagram-commandExportToSvg\"),\r\n getParameter: function(widget) {\r\n return function(dataURI) {\r\n return _this._exportTo(widget, dataURI, \"SVG\", \"image/svg+xml\")\r\n }\r\n }\r\n },\r\n exportPng: {\r\n command: DiagramCommand.ExportPng,\r\n text: _message.default.format(\"dxDiagram-commandExportToPng\"),\r\n getParameter: function(widget) {\r\n return function(dataURI) {\r\n return _this._exportTo(widget, dataURI, \"PNG\", \"image/png\")\r\n }\r\n }\r\n },\r\n exportJpg: {\r\n command: DiagramCommand.ExportJpg,\r\n text: _message.default.format(\"dxDiagram-commandExportToJpg\"),\r\n getParameter: function(widget) {\r\n return function(dataURI) {\r\n return _this._exportTo(widget, dataURI, \"JPEG\", \"image/jpeg\")\r\n }\r\n }\r\n },\r\n undo: {\r\n command: DiagramCommand.Undo,\r\n hint: _message.default.format(\"dxDiagram-commandUndo\"),\r\n text: _message.default.format(\"dxDiagram-commandUndo\"),\r\n icon: \"undo\",\r\n menuIcon: \"undo\"\r\n },\r\n redo: {\r\n command: DiagramCommand.Redo,\r\n hint: _message.default.format(\"dxDiagram-commandRedo\"),\r\n text: _message.default.format(\"dxDiagram-commandRedo\"),\r\n icon: \"redo\",\r\n menuIcon: \"redo\"\r\n },\r\n cut: {\r\n command: DiagramCommand.Cut,\r\n hint: _message.default.format(\"dxDiagram-commandCut\"),\r\n text: _message.default.format(\"dxDiagram-commandCut\"),\r\n icon: \"cut\",\r\n menuIcon: \"cut\"\r\n },\r\n copy: {\r\n command: DiagramCommand.Copy,\r\n hint: _message.default.format(\"dxDiagram-commandCopy\"),\r\n text: _message.default.format(\"dxDiagram-commandCopy\"),\r\n icon: \"copy\",\r\n menuIcon: \"copy\"\r\n },\r\n paste: {\r\n command: DiagramCommand.PasteInPosition,\r\n hint: _message.default.format(\"dxDiagram-commandPaste\"),\r\n text: _message.default.format(\"dxDiagram-commandPaste\"),\r\n icon: \"paste\",\r\n menuIcon: \"paste\"\r\n },\r\n selectAll: {\r\n command: DiagramCommand.SelectAll,\r\n hint: _message.default.format(\"dxDiagram-commandSelectAll\"),\r\n text: _message.default.format(\"dxDiagram-commandSelectAll\"),\r\n icon: \"dx-diagram-i-button-select-all dx-diagram-i\",\r\n menuIcon: \"dx-diagram-i-menu-select-all dx-diagram-i\"\r\n },\r\n \"delete\": {\r\n command: DiagramCommand.Delete,\r\n hint: _message.default.format(\"dxDiagram-commandDelete\"),\r\n text: _message.default.format(\"dxDiagram-commandDelete\"),\r\n icon: \"remove\",\r\n menuIcon: \"remove\"\r\n },\r\n fontName: {\r\n command: DiagramCommand.FontName,\r\n hint: _message.default.format(\"dxDiagram-commandFontName\"),\r\n text: _message.default.format(\"dxDiagram-commandFontName\"),\r\n widget: \"dxSelectBox\",\r\n items: [\"Arial\", \"Arial Black\", \"Helvetica\", \"Times New Roman\", \"Courier New\", \"Courier\", \"Verdana\", \"Georgia\", \"Comic Sans MS\", \"Trebuchet MS\"].map(function(item) {\r\n return {\r\n text: item,\r\n value: item\r\n }\r\n }),\r\n cssClass: CSS_CLASSES.MEDIUM_EDITOR_ITEM\r\n },\r\n fontSize: {\r\n command: DiagramCommand.FontSize,\r\n hint: _message.default.format(\"dxDiagram-commandFontSize\"),\r\n text: _message.default.format(\"dxDiagram-commandFontSize\"),\r\n widget: \"dxSelectBox\",\r\n items: [8, 9, 10, 11, 12, 14, 16, 18, 20, 22, 24, 26, 28, 36, 48, 72].map(function(item) {\r\n return {\r\n text: item + \"pt\",\r\n value: item + \"pt\"\r\n }\r\n }),\r\n cssClass: CSS_CLASSES.SMALL_EDITOR_ITEM\r\n },\r\n bold: {\r\n command: DiagramCommand.Bold,\r\n hint: _message.default.format(\"dxDiagram-commandBold\"),\r\n text: _message.default.format(\"dxDiagram-commandBold\"),\r\n icon: \"bold\",\r\n menuIcon: \"bold\"\r\n },\r\n italic: {\r\n command: DiagramCommand.Italic,\r\n hint: _message.default.format(\"dxDiagram-commandItalic\"),\r\n text: _message.default.format(\"dxDiagram-commandItalic\"),\r\n icon: \"italic\",\r\n menuIcon: \"italic\"\r\n },\r\n underline: {\r\n command: DiagramCommand.Underline,\r\n hint: _message.default.format(\"dxDiagram-commandUnderline\"),\r\n text: _message.default.format(\"dxDiagram-commandUnderline\"),\r\n icon: \"underline\",\r\n menuIcon: \"underline\"\r\n },\r\n fontColor: {\r\n command: DiagramCommand.FontColor,\r\n text: _message.default.format(\"dxDiagram-commandTextColor\"),\r\n hint: _message.default.format(\"dxDiagram-commandTextColor\"),\r\n widget: \"dxColorBox\",\r\n icon: \"dx-icon dx-icon-color\",\r\n menuIcon: \"dx-icon dx-icon-color\",\r\n cssClass: CSS_CLASSES.COLOR_EDITOR_ITEM\r\n },\r\n lineColor: {\r\n command: DiagramCommand.StrokeColor,\r\n text: _message.default.format(\"dxDiagram-commandLineColor\"),\r\n hint: _message.default.format(\"dxDiagram-commandLineColor\"),\r\n widget: \"dxColorBox\",\r\n icon: \"dx-icon dx-icon-background\",\r\n menuIcon: \"dx-icon dx-icon-background\",\r\n cssClass: CSS_CLASSES.COLOR_EDITOR_ITEM\r\n },\r\n lineWidth: {\r\n command: DiagramCommand.StrokeWidth,\r\n text: _message.default.format(\"dxDiagram-commandLineWidth\"),\r\n hint: _message.default.format(\"dxDiagram-commandLineWidth\"),\r\n widget: \"dxSelectBox\",\r\n items: [1, 2, 3, 4, 5, 6, 7, 8].map(function(item) {\r\n return {\r\n text: item + \"px\",\r\n value: item.toString()\r\n }\r\n }),\r\n cssClass: CSS_CLASSES.SMALL_EDITOR_ITEM\r\n },\r\n lineStyle: {\r\n command: DiagramCommand.StrokeStyle,\r\n text: _message.default.format(\"dxDiagram-commandLineStyle\"),\r\n hint: _message.default.format(\"dxDiagram-commandLineStyle\"),\r\n widget: \"dxSelectBox\",\r\n items: [{\r\n value: \"\",\r\n menuIcon: \"dx-diagram-i-line-solid dx-diagram-i\",\r\n hint: _message.default.format(\"dxDiagram-commandLineStyleSolid\")\r\n }, {\r\n value: \"2,2\",\r\n menuIcon: \"dx-diagram-i-line-dotted dx-diagram-i\",\r\n hint: _message.default.format(\"dxDiagram-commandLineStyleDotted\")\r\n }, {\r\n value: \"6,2\",\r\n menuIcon: \"dx-diagram-i-line-dashed dx-diagram-i\",\r\n hint: _message.default.format(\"dxDiagram-commandLineStyleDashed\")\r\n }],\r\n cssClass: CSS_CLASSES.IMAGE_DROPDOWN_ITEM\r\n },\r\n fillColor: {\r\n command: DiagramCommand.FillColor,\r\n text: _message.default.format(\"dxDiagram-commandFillColor\"),\r\n hint: _message.default.format(\"dxDiagram-commandFillColor\"),\r\n widget: \"dxColorBox\",\r\n icon: \"dx-diagram-i dx-diagram-i-button-fill\",\r\n menuIcon: \"dx-diagram-i dx-diagram-i-menu-fill\",\r\n cssClass: CSS_CLASSES.COLOR_EDITOR_ITEM\r\n },\r\n textAlignLeft: {\r\n command: DiagramCommand.TextLeftAlign,\r\n hint: _message.default.format(\"dxDiagram-commandAlignLeft\"),\r\n text: _message.default.format(\"dxDiagram-commandAlignLeft\"),\r\n icon: \"alignleft\",\r\n menuIcon: \"alignleft\"\r\n },\r\n textAlignCenter: {\r\n command: DiagramCommand.TextCenterAlign,\r\n hint: _message.default.format(\"dxDiagram-commandAlignCenter\"),\r\n text: _message.default.format(\"dxDiagram-commandAlignCenter\"),\r\n icon: \"aligncenter\",\r\n menuIcon: \"aligncenter\"\r\n },\r\n textAlignRight: {\r\n command: DiagramCommand.TextRightAlign,\r\n hint: _message.default.format(\"dxDiagram-commandAlignRight\"),\r\n text: _message.default.format(\"dxDiagram-commandAlignRight\"),\r\n icon: \"alignright\",\r\n menu: \"alignright\"\r\n },\r\n lock: {\r\n command: DiagramCommand.Lock,\r\n hint: _message.default.format(\"dxDiagram-commandLock\"),\r\n text: _message.default.format(\"dxDiagram-commandLock\"),\r\n icon: \"dx-diagram-i-button-lock dx-diagram-i\",\r\n menuIcon: \"dx-diagram-i-menu-lock dx-diagram-i\"\r\n },\r\n unlock: {\r\n command: DiagramCommand.Unlock,\r\n hint: _message.default.format(\"dxDiagram-commandUnlock\"),\r\n text: _message.default.format(\"dxDiagram-commandUnlock\"),\r\n icon: \"dx-diagram-i-button-unlock dx-diagram-i\",\r\n menuIcon: \"dx-diagram-i-menu-unlock dx-diagram-i\"\r\n },\r\n bringToFront: {\r\n command: DiagramCommand.BringToFront,\r\n hint: _message.default.format(\"dxDiagram-commandBringToFront\"),\r\n text: _message.default.format(\"dxDiagram-commandBringToFront\"),\r\n icon: \"dx-diagram-i-button-bring-to-front dx-diagram-i\",\r\n menuIcon: \"dx-diagram-i-menu-bring-to-front dx-diagram-i\"\r\n },\r\n sendToBack: {\r\n command: DiagramCommand.SendToBack,\r\n hint: _message.default.format(\"dxDiagram-commandSendToBack\"),\r\n text: _message.default.format(\"dxDiagram-commandSendToBack\"),\r\n icon: \"dx-diagram-i-button-send-to-back dx-diagram-i\",\r\n menuIcon: \"dx-diagram-i-menu-send-to-back dx-diagram-i\"\r\n },\r\n insertShapeImage: {\r\n command: DiagramCommand.InsertShapeImage,\r\n text: _message.default.format(\"dxDiagram-commandInsertShapeImage\"),\r\n icon: \"dx-diagram-i-button-image-insert dx-diagram-i\",\r\n menuIcon: \"dx-diagram-i-menu-image-insert dx-diagram-i\"\r\n },\r\n editShapeImage: {\r\n command: DiagramCommand.EditShapeImage,\r\n text: _message.default.format(\"dxDiagram-commandEditShapeImage\"),\r\n icon: \"dx-diagram-i-button-image-edit dx-diagram-i\",\r\n menuIcon: \"dx-diagram-i-menu-image-edit dx-diagram-i\"\r\n },\r\n deleteShapeImage: {\r\n command: DiagramCommand.DeleteShapeImage,\r\n text: _message.default.format(\"dxDiagram-commandDeleteShapeImage\"),\r\n icon: \"dx-diagram-i-button-image-delete dx-diagram-i\",\r\n menuIcon: \"dx-diagram-i-menu-image-delete dx-diagram-i\"\r\n },\r\n connectorLineType: {\r\n command: DiagramCommand.ConnectorLineOption,\r\n widget: \"dxSelectBox\",\r\n hint: _message.default.format(\"dxDiagram-commandConnectorLineType\"),\r\n items: [{\r\n value: 0,\r\n menuIcon: \"dx-diagram-i-connector-straight dx-diagram-i\",\r\n hint: _message.default.format(\"dxDiagram-commandConnectorLineStraight\")\r\n }, {\r\n value: 1,\r\n menuIcon: \"dx-diagram-i-connector-orthogonal dx-diagram-i\",\r\n hint: _message.default.format(\"dxDiagram-commandConnectorLineOrthogonal\")\r\n }],\r\n cssClass: CSS_CLASSES.IMAGE_DROPDOWN_ITEM\r\n },\r\n connectorLineStart: {\r\n command: DiagramCommand.ConnectorStartLineEnding,\r\n widget: \"dxSelectBox\",\r\n items: [{\r\n value: 0,\r\n menuIcon: \"dx-diagram-i-connector-begin-none dx-diagram-i\",\r\n hint: _message.default.format(\"dxDiagram-commandConnectorLineNone\")\r\n }, {\r\n value: 1,\r\n menuIcon: \"dx-diagram-i-connector-begin-arrow dx-diagram-i\",\r\n hint: _message.default.format(\"dxDiagram-commandConnectorLineArrow\")\r\n }, {\r\n value: 2,\r\n menuIcon: \"dx-diagram-i-connector-begin-outlined-triangle dx-diagram-i\",\r\n hint: _message.default.format(\"dxDiagram-commandConnectorLineArrow\")\r\n }, {\r\n value: 3,\r\n menuIcon: \"dx-diagram-i-connector-begin-filled-triangle dx-diagram-i\",\r\n hint: _message.default.format(\"dxDiagram-commandConnectorLineArrow\")\r\n }],\r\n hint: _message.default.format(\"dxDiagram-commandConnectorLineStart\"),\r\n cssClass: CSS_CLASSES.IMAGE_DROPDOWN_ITEM\r\n },\r\n connectorLineEnd: {\r\n command: DiagramCommand.ConnectorEndLineEnding,\r\n widget: \"dxSelectBox\",\r\n items: [{\r\n value: 0,\r\n menuIcon: \"dx-diagram-i-connector-end-none dx-diagram-i\",\r\n hint: _message.default.format(\"dxDiagram-commandConnectorLineNone\")\r\n }, {\r\n value: 1,\r\n menuIcon: \"dx-diagram-i-connector-end-arrow dx-diagram-i\",\r\n hint: _message.default.format(\"dxDiagram-commandConnectorLineArrow\")\r\n }, {\r\n value: 2,\r\n menuIcon: \"dx-diagram-i-connector-end-outlined-triangle dx-diagram-i\",\r\n hint: _message.default.format(\"dxDiagram-commandConnectorLineArrow\")\r\n }, {\r\n value: 3,\r\n menuIcon: \"dx-diagram-i-connector-end-filled-triangle dx-diagram-i\",\r\n hint: _message.default.format(\"dxDiagram-commandConnectorLineArrow\")\r\n }],\r\n hint: _message.default.format(\"dxDiagram-commandConnectorLineEnd\"),\r\n cssClass: CSS_CLASSES.IMAGE_DROPDOWN_ITEM\r\n },\r\n layoutTreeTopToBottom: {\r\n command: DiagramCommand.AutoLayoutTreeVertical,\r\n text: _message.default.format(\"dxDiagram-commandLayoutTopToBottom\"),\r\n hint: _message.default.format(\"dxDiagram-commandLayoutTopToBottom\"),\r\n icon: \"dx-diagram-i-button-layout-tree-tb dx-diagram-i\",\r\n cssClass: CSS_CLASSES.LARGE_ICON_ITEM\r\n },\r\n layoutTreeBottomToTop: {\r\n command: DiagramCommand.AutoLayoutTreeVerticalBottomToTop,\r\n text: _message.default.format(\"dxDiagram-commandLayoutBottomToTop\"),\r\n hint: _message.default.format(\"dxDiagram-commandLayoutBottomToTop\"),\r\n icon: \"dx-diagram-i-button-layout-tree-bt dx-diagram-i\",\r\n cssClass: CSS_CLASSES.LARGE_ICON_ITEM\r\n },\r\n layoutTreeLeftToRight: {\r\n command: DiagramCommand.AutoLayoutTreeHorizontal,\r\n text: _message.default.format(\"dxDiagram-commandLayoutLeftToRight\"),\r\n hint: _message.default.format(\"dxDiagram-commandLayoutLeftToRight\"),\r\n icon: \"dx-diagram-i-button-layout-tree-lr dx-diagram-i\",\r\n cssClass: CSS_CLASSES.LARGE_ICON_ITEM\r\n },\r\n layoutTreeRightToLeft: {\r\n command: DiagramCommand.AutoLayoutTreeHorizontalRightToLeft,\r\n text: _message.default.format(\"dxDiagram-commandLayoutRightToLeft\"),\r\n hint: _message.default.format(\"dxDiagram-commandLayoutRightToLeft\"),\r\n icon: \"dx-diagram-i-button-layout-tree-rl dx-diagram-i\",\r\n cssClass: CSS_CLASSES.LARGE_ICON_ITEM\r\n },\r\n layoutLayeredTopToBottom: {\r\n command: DiagramCommand.AutoLayoutLayeredVertical,\r\n text: _message.default.format(\"dxDiagram-commandLayoutTopToBottom\"),\r\n hint: _message.default.format(\"dxDiagram-commandLayoutTopToBottom\"),\r\n icon: \"dx-diagram-i-button-layout-layered-tb dx-diagram-i\",\r\n cssClass: CSS_CLASSES.LARGE_ICON_ITEM\r\n },\r\n layoutLayeredBottomToTop: {\r\n command: DiagramCommand.AutoLayoutLayeredVerticalBottomToTop,\r\n text: _message.default.format(\"dxDiagram-commandLayoutBottomToTop\"),\r\n hint: _message.default.format(\"dxDiagram-commandLayoutBottomToTop\"),\r\n icon: \"dx-diagram-i-button-layout-layered-bt dx-diagram-i\",\r\n cssClass: CSS_CLASSES.LARGE_ICON_ITEM\r\n },\r\n layoutLayeredLeftToRight: {\r\n command: DiagramCommand.AutoLayoutLayeredHorizontal,\r\n text: _message.default.format(\"dxDiagram-commandLayoutLeftToRight\"),\r\n hint: _message.default.format(\"dxDiagram-commandLayoutLeftToRight\"),\r\n icon: \"dx-diagram-i-button-layout-layered-lr dx-diagram-i\",\r\n cssClass: CSS_CLASSES.LARGE_ICON_ITEM\r\n },\r\n layoutLayeredRightToLeft: {\r\n command: DiagramCommand.AutoLayoutLayeredHorizontalRightToLeft,\r\n text: _message.default.format(\"dxDiagram-commandLayoutRightToLeft\"),\r\n hint: _message.default.format(\"dxDiagram-commandLayoutRightToLeft\"),\r\n icon: \"dx-diagram-i-button-layout-layered-rl dx-diagram-i\",\r\n cssClass: CSS_CLASSES.LARGE_ICON_ITEM\r\n },\r\n fullScreen: {\r\n command: DiagramCommand.Fullscreen,\r\n hint: _message.default.format(\"dxDiagram-commandFullscreen\"),\r\n text: _message.default.format(\"dxDiagram-commandFullscreen\"),\r\n icon: \"dx-diagram-i dx-diagram-i-button-fullscreen\",\r\n menuIcon: \"dx-diagram-i dx-diagram-i-menu-fullscreen\",\r\n cssClass: CSS_CLASSES.COLOR_EDITOR_ITEM\r\n },\r\n units: {\r\n command: DiagramCommand.ViewUnits,\r\n hint: _message.default.format(\"dxDiagram-commandUnits\"),\r\n text: _message.default.format(\"dxDiagram-commandUnits\"),\r\n widget: \"dxSelectBox\"\r\n },\r\n simpleView: {\r\n command: DiagramCommand.ToggleSimpleView,\r\n hint: _message.default.format(\"dxDiagram-commandSimpleView\"),\r\n text: _message.default.format(\"dxDiagram-commandSimpleView\"),\r\n widget: \"dxCheckBox\"\r\n },\r\n showGrid: {\r\n command: DiagramCommand.ShowGrid,\r\n hint: _message.default.format(\"dxDiagram-commandShowGrid\"),\r\n text: _message.default.format(\"dxDiagram-commandShowGrid\"),\r\n widget: \"dxCheckBox\"\r\n },\r\n snapToGrid: {\r\n command: DiagramCommand.SnapToGrid,\r\n hint: _message.default.format(\"dxDiagram-commandSnapToGrid\"),\r\n text: _message.default.format(\"dxDiagram-commandSnapToGrid\"),\r\n widget: \"dxCheckBox\"\r\n },\r\n gridSize: {\r\n command: DiagramCommand.GridSize,\r\n hint: _message.default.format(\"dxDiagram-commandGridSize\"),\r\n text: _message.default.format(\"dxDiagram-commandGridSize\"),\r\n widget: \"dxSelectBox\"\r\n },\r\n pageSize: {\r\n command: DiagramCommand.PageSize,\r\n hint: _message.default.format(\"dxDiagram-commandPageSize\"),\r\n text: _message.default.format(\"dxDiagram-commandPageSize\"),\r\n widget: \"dxSelectBox\",\r\n cssClass: CSS_CLASSES.LARGE_EDITOR_ITEM,\r\n getCommandValue: function(v) {\r\n return JSON.parse(v)\r\n },\r\n getEditorValue: function(v) {\r\n return JSON.stringify(v)\r\n }\r\n },\r\n pageOrientation: {\r\n command: DiagramCommand.PageLandscape,\r\n hint: _message.default.format(\"dxDiagram-commandPageOrientation\"),\r\n text: _message.default.format(\"dxDiagram-commandPageOrientation\"),\r\n widget: \"dxSelectBox\",\r\n items: [{\r\n value: true,\r\n text: _message.default.format(\"dxDiagram-commandPageOrientationLandscape\")\r\n }, {\r\n value: false,\r\n text: _message.default.format(\"dxDiagram-commandPageOrientationPortrait\")\r\n }],\r\n cssClass: CSS_CLASSES.MEDIUM_EDITOR_ITEM\r\n },\r\n pageColor: {\r\n command: DiagramCommand.PageColor,\r\n hint: _message.default.format(\"dxDiagram-commandPageColor\"),\r\n text: _message.default.format(\"dxDiagram-commandPageColor\"),\r\n widget: \"dxColorBox\",\r\n icon: \"dx-diagram-i dx-diagram-i-button-fill\",\r\n menuIcon: \"dx-diagram-i dx-diagram-i-menu-fill\",\r\n cssClass: CSS_CLASSES.COLOR_EDITOR_ITEM\r\n },\r\n zoomLevel: {\r\n command: DiagramCommand.ZoomLevel,\r\n hint: _message.default.format(\"dxDiagram-commandZoomLevel\"),\r\n text: _message.default.format(\"dxDiagram-commandZoomLevel\"),\r\n widget: \"dxTextBox\",\r\n items: [SEPARATOR_COMMAND, {\r\n command: DiagramCommand.FitToScreen,\r\n hint: _message.default.format(\"dxDiagram-commandFitToContent\"),\r\n text: _message.default.format(\"dxDiagram-commandFitToContent\")\r\n }, {\r\n command: DiagramCommand.FitToWidth,\r\n hint: _message.default.format(\"dxDiagram-commandFitToWidth\"),\r\n text: _message.default.format(\"dxDiagram-commandFitToWidth\")\r\n }, SEPARATOR_COMMAND, {\r\n command: DiagramCommand.AutoZoomToContent,\r\n hint: _message.default.format(\"dxDiagram-commandAutoZoomByContent\"),\r\n text: _message.default.format(\"dxDiagram-commandAutoZoomByContent\")\r\n }, {\r\n command: DiagramCommand.AutoZoomToWidth,\r\n hint: _message.default.format(\"dxDiagram-commandAutoZoomByWidth\"),\r\n text: _message.default.format(\"dxDiagram-commandAutoZoomByWidth\")\r\n }],\r\n getEditorDisplayValue: function(v) {\r\n return Math.round(100 * v) + \"%\"\r\n },\r\n cssClass: CSS_CLASSES.SMALL_EDITOR_ITEM\r\n },\r\n toolbox: {\r\n command: this.SHOW_TOOLBOX_COMMAND_NAME,\r\n iconChecked: \"dx-diagram-i dx-diagram-i-button-toolbox-close\",\r\n iconUnchecked: \"dx-diagram-i dx-diagram-i-button-toolbox-open\",\r\n hint: _message.default.format(\"dxDiagram-uiShowToolbox\"),\r\n text: _message.default.format(\"dxDiagram-uiShowToolbox\")\r\n },\r\n propertiesPanel: {\r\n command: this.SHOW_PROPERTIES_PANEL_COMMAND_NAME,\r\n iconChecked: \"close\",\r\n iconUnchecked: \"dx-diagram-i dx-diagram-i-button-properties-panel-open\",\r\n hint: _message.default.format(\"dxDiagram-uiProperties\"),\r\n text: _message.default.format(\"dxDiagram-uiProperties\")\r\n }\r\n })\r\n },\r\n getMainToolbarCommands: function(commands, excludeCommands) {\r\n var allCommands = this.getAllCommands();\r\n var mainToolbarCommands = commands ? this._getPreparedCommands(allCommands, commands) : this._getDefaultMainToolbarCommands(allCommands);\r\n return this._prepareToolbarCommands(mainToolbarCommands, excludeCommands)\r\n },\r\n _getDefaultMainToolbarCommands: function(allCommands) {\r\n return this._defaultMainToolbarCommands || (this._defaultMainToolbarCommands = [allCommands.undo, allCommands.redo, allCommands.separator, allCommands.fontName, allCommands.fontSize, allCommands.bold, allCommands.italic, allCommands.underline, allCommands.separator, allCommands.lineWidth, allCommands.lineStyle, allCommands.separator, allCommands.fontColor, allCommands.lineColor, allCommands.fillColor, allCommands.separator, allCommands.textAlignLeft, allCommands.textAlignCenter, allCommands.textAlignRight, allCommands.separator, allCommands.connectorLineType, allCommands.connectorLineStart, allCommands.connectorLineEnd, allCommands.separator, {\r\n text: _message.default.format(\"dxDiagram-uiLayout\"),\r\n showText: \"always\",\r\n items: [{\r\n text: _message.default.format(\"dxDiagram-uiLayoutTree\"),\r\n items: [allCommands.layoutTreeTopToBottom, allCommands.layoutTreeBottomToTop, allCommands.layoutTreeLeftToRight, allCommands.layoutTreeRightToLeft]\r\n }, {\r\n text: _message.default.format(\"dxDiagram-uiLayoutLayered\"),\r\n items: [allCommands.layoutLayeredTopToBottom, allCommands.layoutLayeredBottomToTop, allCommands.layoutLayeredLeftToRight, allCommands.layoutLayeredRightToLeft]\r\n }]\r\n }])\r\n },\r\n getHistoryToolbarCommands: function(commands, excludeCommands) {\r\n var allCommands = this.getAllCommands();\r\n var historyToolbarCommands = commands ? this._getPreparedCommands(allCommands, commands) : this._getDefaultHistoryToolbarCommands(allCommands);\r\n return this._prepareToolbarCommands(historyToolbarCommands, excludeCommands)\r\n },\r\n _getDefaultHistoryToolbarCommands: function(allCommands) {\r\n return this._defaultHistoryToolbarCommands || (this._defaultHistoryToolbarCommands = [allCommands.undo, allCommands.redo, allCommands.separator, allCommands.toolbox])\r\n },\r\n getViewToolbarCommands: function(commands, excludeCommands) {\r\n var allCommands = this.getAllCommands();\r\n var viewToolbarCommands = commands ? this._getPreparedCommands(allCommands, commands) : this._getDefaultViewToolbarCommands(allCommands);\r\n return this._prepareToolbarCommands(viewToolbarCommands, excludeCommands)\r\n },\r\n _getDefaultViewToolbarCommands: function(allCommands) {\r\n return this._defaultViewToolbarCommands || (this._defaultViewToolbarCommands = [allCommands.zoomLevel, allCommands.separator, allCommands.fullScreen, allCommands.separator, {\r\n widget: \"dxButton\",\r\n icon: \"export\",\r\n text: _message.default.format(\"dxDiagram-uiExport\"),\r\n hint: _message.default.format(\"dxDiagram-uiExport\"),\r\n items: [allCommands.exportSvg, allCommands.exportPng, allCommands.exportJpg]\r\n }, {\r\n icon: \"preferences\",\r\n hint: _message.default.format(\"dxDiagram-uiSettings\"),\r\n text: _message.default.format(\"dxDiagram-uiSettings\"),\r\n items: [allCommands.units, allCommands.separator, allCommands.showGrid, allCommands.snapToGrid, allCommands.gridSize, allCommands.separator, allCommands.simpleView, allCommands.toolbox]\r\n }])\r\n },\r\n getPropertiesToolbarCommands: function(commands, excludeCommands) {\r\n var allCommands = this.getAllCommands();\r\n var propertiesCommands = commands ? this._getPreparedCommands(allCommands, commands) : this._getDefaultPropertiesToolbarCommands(allCommands);\r\n return this._prepareToolbarCommands(propertiesCommands, excludeCommands)\r\n },\r\n _getDefaultPropertiesToolbarCommands: function(allCommands) {\r\n return this._defaultPropertiesToolbarCommands || (this._defaultPropertiesToolbarCommands = [allCommands.propertiesPanel])\r\n },\r\n _getDefaultPropertyPanelCommandGroups: function() {\r\n return this._defaultPropertyPanelCommandGroups || (this._defaultPropertyPanelCommandGroups = [{\r\n title: _message.default.format(\"dxDiagram-uiStyle\"),\r\n groups: [{\r\n title: _message.default.format(\"dxDiagram-uiText\"),\r\n commands: [\"fontName\", \"fontSize\", \"bold\", \"italic\", \"underline\", \"textAlignLeft\", \"textAlignCenter\", \"textAlignRight\", \"fontColor\"]\r\n }, {\r\n title: _message.default.format(\"dxDiagram-uiObject\"),\r\n commands: [\"lineStyle\", \"lineWidth\", \"lineColor\", \"fillColor\"]\r\n }, {\r\n title: _message.default.format(\"dxDiagram-uiConnector\"),\r\n commands: [\"connectorLineType\", \"connectorLineStart\", \"connectorLineEnd\"]\r\n }]\r\n }, {\r\n title: _message.default.format(\"dxDiagram-uiLayout\"),\r\n groups: [{\r\n title: _message.default.format(\"dxDiagram-uiLayoutLayered\"),\r\n commands: [\"layoutLayeredTopToBottom\", \"layoutLayeredBottomToTop\", \"layoutLayeredLeftToRight\", \"layoutLayeredRightToLeft\"]\r\n }, {\r\n title: _message.default.format(\"dxDiagram-uiLayoutTree\"),\r\n commands: [\"layoutTreeTopToBottom\", \"layoutTreeBottomToTop\", \"layoutTreeLeftToRight\", \"layoutTreeRightToLeft\"]\r\n }]\r\n }, {\r\n title: _message.default.format(\"dxDiagram-uiDiagram\"),\r\n groups: [{\r\n title: _message.default.format(\"dxDiagram-uiPage\"),\r\n commands: [\"pageSize\", \"pageOrientation\", \"pageColor\"]\r\n }]\r\n }])\r\n },\r\n _preparePropertyPanelGroups: function(groups) {\r\n var _this2 = this;\r\n var allCommands = this.getAllCommands();\r\n var result = [];\r\n groups.forEach(function(g) {\r\n var commands = g.commands;\r\n if (commands) {\r\n commands = _this2._getPreparedCommands(allCommands, commands);\r\n commands = _this2._prepareToolbarCommands(commands)\r\n }\r\n var subGroups;\r\n if (g.groups) {\r\n subGroups = [];\r\n g.groups.forEach(function(sg) {\r\n var subCommands = sg.commands;\r\n if (subCommands) {\r\n subCommands = _this2._getPreparedCommands(allCommands, subCommands);\r\n subCommands = _this2._prepareToolbarCommands(subCommands)\r\n }\r\n subGroups.push({\r\n title: sg.title,\r\n commands: subCommands\r\n })\r\n })\r\n }\r\n result.push({\r\n title: g.title,\r\n commands: commands,\r\n groups: subGroups\r\n })\r\n });\r\n return result\r\n },\r\n getPropertyPanelCommandTabs: function(commandGroups) {\r\n commandGroups = commandGroups || this._getDefaultPropertyPanelCommandGroups();\r\n return this._preparePropertyPanelGroups(commandGroups)\r\n },\r\n getContextMenuCommands: function(commands) {\r\n var allCommands = this.getAllCommands();\r\n var contextMenuCommands = commands ? this._getPreparedCommands(allCommands, commands) : this._getDefaultContextMenuCommands(allCommands);\r\n return this._prepareContextMenuCommands(contextMenuCommands)\r\n },\r\n _getDefaultContextMenuCommands: function(allCommands) {\r\n return this._defaultContextMenuCommands || (this._defaultContextMenuCommands = [allCommands.cut, allCommands.copy, allCommands.paste, allCommands.delete, allCommands.separator, allCommands.selectAll, allCommands.separator, allCommands.bringToFront, allCommands.sendToBack, allCommands.separator, allCommands.lock, allCommands.unlock, allCommands.separator, allCommands.insertShapeImage, allCommands.editShapeImage, allCommands.deleteShapeImage])\r\n },\r\n _getPreparedCommands: function(allCommands, commands) {\r\n var _this3 = this;\r\n return commands.map(function(c) {\r\n if (allCommands[c]) {\r\n return allCommands[c]\r\n } else {\r\n if (c.text || c.icon || c.name) {\r\n var internalCommand = c.name && allCommands[c.name];\r\n var command = {\r\n command: internalCommand && internalCommand.command,\r\n name: c.name,\r\n text: c.text || internalCommand && internalCommand.text,\r\n hint: c.text || internalCommand && internalCommand.hint,\r\n icon: c.icon || internalCommand && internalCommand.icon,\r\n menuIcon: c.icon || internalCommand && internalCommand.menuIcon,\r\n widget: internalCommand && internalCommand.widget,\r\n cssClass: internalCommand && internalCommand.cssClass,\r\n getParameter: internalCommand && internalCommand.getParameter,\r\n getCommandValue: internalCommand && internalCommand.getCommandValue,\r\n getEditorValue: internalCommand && internalCommand.getEditorValue,\r\n getEditorDisplayValue: internalCommand && internalCommand.getEditorDisplayValue,\r\n iconChecked: internalCommand && internalCommand.iconChecked,\r\n iconUnchecked: internalCommand && internalCommand.iconUnchecked\r\n };\r\n if (Array.isArray(c.items)) {\r\n command.items = _this3._getPreparedCommands(allCommands, c.items)\r\n } else {\r\n command.items = internalCommand && internalCommand.items\r\n }\r\n return command\r\n }\r\n }\r\n }).filter(function(c) {\r\n return c\r\n })\r\n },\r\n _prepareContextMenuCommands: function(commands, excludeCommands, rootCommand) {\r\n var _this4 = this;\r\n var beginGroup = false;\r\n return commands.map(function(c) {\r\n if (!_this4._isValidCommand(c, excludeCommands)) {\r\n return\r\n }\r\n if (c === SEPARATOR_COMMAND) {\r\n beginGroup = true\r\n } else {\r\n var command = _this4._cloneCommand(c, excludeCommands);\r\n command.icon = command.menuIcon;\r\n command.beginGroup = beginGroup;\r\n command.rootCommand = !command.command ? rootCommand && rootCommand.command : void 0;\r\n beginGroup = false;\r\n return command\r\n }\r\n }).filter(function(c) {\r\n return c\r\n })\r\n },\r\n _prepareToolbarCommands: function(commands, excludeCommands) {\r\n var _this5 = this;\r\n return commands.map(function(c) {\r\n if (_this5._isValidCommand(c, excludeCommands)) {\r\n return _this5._cloneCommand(c, excludeCommands)\r\n }\r\n }).filter(function(c) {\r\n return c\r\n }).filter(function(c, index, arr) {\r\n if (c.widget === SEPARATOR && index === arr.length - 1) {\r\n return false\r\n }\r\n return c\r\n })\r\n },\r\n _cloneCommand: function(c, excludeCommands) {\r\n var command = (0, _extend.extend)({}, c);\r\n if (Array.isArray(c.items)) {\r\n command.items = this._prepareContextMenuCommands(c.items, excludeCommands, command)\r\n }\r\n return command\r\n },\r\n _isValidCommand: function(c, excludeCommands) {\r\n excludeCommands = excludeCommands || [];\r\n return excludeCommands.indexOf(c.command) === -1\r\n },\r\n _exportTo: function(widget, dataURI, format, mimeString) {\r\n var window = (0, _window.getWindow)();\r\n if (window && window.atob && (0, _type.isFunction)(window.Blob)) {\r\n var blob = this._getBlobByDataURI(window, dataURI, mimeString);\r\n var options = widget.option(\"export\");\r\n _file_saver.fileSaver.saveAs(options.fileName || \"foo\", format, blob, options.proxyURL)\r\n }\r\n },\r\n _getBlobByDataURI: function(window, dataURI, mimeString) {\r\n var byteString = window.atob(dataURI.split(\",\")[1]);\r\n var ia = new Uint8Array(byteString.length);\r\n for (var i = 0; i < byteString.length; i++) {\r\n ia[i] = byteString.charCodeAt(i)\r\n }\r\n return new window.Blob([ia.buffer], {\r\n type: mimeString\r\n })\r\n }\r\n};\r\nvar _default = DiagramCommandsManager;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/diagram/ui.diagram.toolbar.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _toolbar = _interopRequireDefault(require(\"../toolbar\"));\r\nvar _context_menu = _interopRequireDefault(require(\"../context_menu\"));\r\nvar _diagram = _interopRequireDefault(require(\"./diagram.bar\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _uiDiagram = _interopRequireDefault(require(\"./ui.diagram.panel\"));\r\nvar _uiDiagram2 = _interopRequireDefault(require(\"./ui.diagram.menu_helper\"));\r\nvar _diagram2 = require(\"./diagram.importer\");\r\nrequire(\"../select_box\");\r\nrequire(\"../color_box\");\r\nrequire(\"../check_box\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf || function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar ACTIVE_FORMAT_CLASS = \"dx-format-active\";\r\nvar DIAGRAM_TOOLBAR_CLASS = \"dx-diagram-toolbar\";\r\nvar DIAGRAM_TOOLBAR_SEPARATOR_CLASS = \"dx-diagram-toolbar-separator\";\r\nvar DIAGRAM_TOOLBAR_MENU_SEPARATOR_CLASS = \"dx-diagram-toolbar-menu-separator\";\r\nvar DIAGRAM_MOBILE_TOOLBAR_COLOR_BOX_OPENED_CLASS = \"dx-diagram-mobile-toolbar-color-box-opened\";\r\nvar DiagramToolbar = function(_DiagramPanel) {\r\n _inheritsLoose(DiagramToolbar, _DiagramPanel);\r\n\r\n function DiagramToolbar() {\r\n return _DiagramPanel.apply(this, arguments) || this\r\n }\r\n var _proto = DiagramToolbar.prototype;\r\n _proto._init = function() {\r\n this._commands = [];\r\n this._itemHelpers = {};\r\n this._commandContextMenus = {};\r\n this._contextMenuList = [];\r\n this._valueConverters = {};\r\n this.bar = new DiagramToolbarBar(this);\r\n this._createOnInternalCommand();\r\n this._createOnCustomCommand();\r\n this._createOnSubMenuVisibilityChangingAction();\r\n _DiagramPanel.prototype._init.call(this)\r\n };\r\n _proto._initMarkup = function() {\r\n _DiagramPanel.prototype._initMarkup.call(this);\r\n var isServerSide = !(0, _window.hasWindow)();\r\n if (!this.option(\"skipAdjustSize\") && !isServerSide) {\r\n this.$element().width(\"\")\r\n }\r\n this._commands = this._getCommands();\r\n this._itemHelpers = {};\r\n this._commandContextMenus = {};\r\n this._contextMenuList = [];\r\n var $toolbar = this._createMainElement();\r\n this._renderToolbar($toolbar);\r\n if (!this.option(\"skipAdjustSize\") && !isServerSide) {\r\n var $toolbarContent = this.$element().find(\".dx-toolbar-before\");\r\n this.$element().width($toolbarContent.width())\r\n }\r\n };\r\n _proto._createMainElement = function() {\r\n return (0, _renderer.default)(\"
\").addClass(DIAGRAM_TOOLBAR_CLASS).appendTo(this._$element)\r\n };\r\n _proto._getCommands = function() {\r\n return this.option(\"commands\") || []\r\n };\r\n _proto._renderToolbar = function($toolbar) {\r\n var beforeCommands = this._commands.filter(function(command) {\r\n return [\"after\", \"center\"].indexOf(command.position) === -1\r\n });\r\n var centerCommands = this._commands.filter(function(command) {\r\n return \"center\" === command.position\r\n });\r\n var afterCommands = this._commands.filter(function(command) {\r\n return \"after\" === command.position\r\n });\r\n var dataSource = [].concat(this._prepareToolbarItems(beforeCommands, \"before\", this._executeCommand)).concat(this._prepareToolbarItems(centerCommands, \"center\", this._executeCommand)).concat(this._prepareToolbarItems(afterCommands, \"after\", this._executeCommand));\r\n this._toolbarInstance = this._createComponent($toolbar, _toolbar.default, {\r\n dataSource: dataSource\r\n })\r\n };\r\n _proto._prepareToolbarItems = function(items, location, actionHandler) {\r\n var _this = this;\r\n return items.map(function(item) {\r\n return (0, _extend.extend)(true, {\r\n location: location,\r\n locateInMenu: _this.option(\"locateInMenu\")\r\n }, _this._createItem(item, location, actionHandler), _this._createItemOptions(item), _this._createItemActionOptions(item, actionHandler))\r\n })\r\n };\r\n _proto._createItem = function(item, location, actionHandler) {\r\n var _this2 = this;\r\n if (item.getCommandValue || item.getEditorValue || item.getEditorDisplayValue) {\r\n this._valueConverters[item.command] = {\r\n getCommandValue: item.getCommandValue,\r\n getEditorValue: item.getEditorValue,\r\n getEditorDisplayValue: item.getEditorDisplayValue\r\n }\r\n }\r\n if (\"separator\" === item.widget) {\r\n return {\r\n template: function(data, index, element) {\r\n (0, _renderer.default)(element).addClass(DIAGRAM_TOOLBAR_SEPARATOR_CLASS)\r\n },\r\n menuItemTemplate: function(data, index, element) {\r\n (0, _renderer.default)(element).addClass(DIAGRAM_TOOLBAR_MENU_SEPARATOR_CLASS)\r\n }\r\n }\r\n }\r\n return {\r\n widget: item.widget || \"dxButton\",\r\n cssClass: item.cssClass,\r\n options: {\r\n stylingMode: this.option(\"buttonStylingMode\"),\r\n type: this.option(\"buttonType\"),\r\n text: item.text,\r\n hint: item.hint,\r\n icon: item.icon || item.iconUnchecked || item.iconChecked,\r\n iconChecked: item.iconChecked,\r\n iconUnchecked: item.iconUnchecked,\r\n onInitialized: function(e) {\r\n return _this2._onItemInitialized(e.component, item)\r\n },\r\n onContentReady: function(e) {\r\n return _this2._onItemContentReady(e.component, item, actionHandler)\r\n }\r\n }\r\n }\r\n };\r\n _proto._createItemOptions = function(_ref) {\r\n var widget = _ref.widget,\r\n command = _ref.command,\r\n items = _ref.items,\r\n valueExpr = _ref.valueExpr,\r\n displayExpr = _ref.displayExpr,\r\n showText = _ref.showText,\r\n hint = _ref.hint,\r\n icon = _ref.icon;\r\n if (\"dxSelectBox\" === widget) {\r\n return this._createSelectBoxItemOptions(command, hint, items, valueExpr, displayExpr)\r\n } else {\r\n if (\"dxTextBox\" === widget) {\r\n return this._createTextBoxItemOptions(command, hint)\r\n } else {\r\n if (\"dxColorBox\" === widget) {\r\n return this._createColorBoxItemOptions(command, hint, icon)\r\n } else {\r\n if (!widget || \"dxButton\" === widget) {\r\n return {\r\n showText: showText || \"inMenu\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n };\r\n _proto._createSelectBoxItemOptions = function(command, hint, items, valueExpr, displayExpr) {\r\n var options = this._createTextEditorItemOptions(hint);\r\n options = (0, _extend.extend)(true, options, {\r\n options: {\r\n dataSource: items,\r\n displayExpr: displayExpr || \"text\",\r\n valueExpr: valueExpr || \"value\",\r\n dropDownOptions: {\r\n container: this.option(\"container\")\r\n }\r\n }\r\n });\r\n var isSelectButton = items && items.every(function(i) {\r\n return void 0 !== i.icon\r\n });\r\n if (isSelectButton) {\r\n options = (0, _extend.extend)(true, options, {\r\n options: {\r\n fieldTemplate: function(data, container) {\r\n (0, _renderer.default)(\"\").addClass(data && data.icon).appendTo(container);\r\n (0, _renderer.default)(\"
\").dxTextBox({\r\n readOnly: true,\r\n stylingMode: \"outlined\"\r\n }).appendTo(container)\r\n },\r\n itemTemplate: function(data, index, container) {\r\n (0, _renderer.default)(container).attr(\"title\", data.hint);\r\n return '')\r\n }\r\n }\r\n })\r\n }\r\n return options\r\n };\r\n _proto._createTextBoxItemOptions = function(command, hint) {\r\n var _this3 = this;\r\n var options = this._createTextEditorItemOptions(hint);\r\n options = (0, _extend.extend)(true, options, {\r\n options: {\r\n readOnly: true,\r\n focusStateEnabled: false,\r\n hoverStateEnabled: false,\r\n buttons: [{\r\n name: \"dropDown\",\r\n location: \"after\",\r\n options: {\r\n icon: \"spindown\",\r\n disabled: false,\r\n stylingMode: \"text\",\r\n onClick: function(e) {\r\n var contextMenu = _this3._commandContextMenus[command];\r\n if (contextMenu) {\r\n _this3._toggleContextMenu(contextMenu)\r\n }\r\n }\r\n }\r\n }]\r\n }\r\n });\r\n return options\r\n };\r\n _proto._createColorBoxItemOptions = function(command, hint, icon) {\r\n var _this4 = this;\r\n var options = this._createTextEditorItemOptions(hint);\r\n if (icon) {\r\n options = (0, _extend.extend)(true, options, {\r\n options: {\r\n openOnFieldClick: true,\r\n fieldTemplate: function(data, container) {\r\n (0, _renderer.default)(\"\").addClass(icon).css(\"borderBottomColor\", data).appendTo(container);\r\n (0, _renderer.default)(\"
\").dxTextBox({\r\n readOnly: true,\r\n stylingMode: \"outlined\"\r\n }).appendTo(container)\r\n }\r\n }\r\n })\r\n }\r\n options = (0, _extend.extend)(true, options, {\r\n options: {\r\n dropDownOptions: {\r\n container: this.option(\"container\")\r\n },\r\n onOpened: function() {\r\n if (_this4.option(\"isMobileView\")) {\r\n (0, _renderer.default)(\"body\").addClass(DIAGRAM_MOBILE_TOOLBAR_COLOR_BOX_OPENED_CLASS)\r\n }\r\n },\r\n onClosed: function() {\r\n (0, _renderer.default)(\"body\").removeClass(DIAGRAM_MOBILE_TOOLBAR_COLOR_BOX_OPENED_CLASS)\r\n }\r\n }\r\n });\r\n return options\r\n };\r\n _proto._createTextEditorItemOptions = function(hint) {\r\n return {\r\n options: {\r\n stylingMode: this.option(\"editorStylingMode\"),\r\n hint: hint\r\n }\r\n }\r\n };\r\n _proto._createItemActionOptions = function(item, handler) {\r\n var _this5 = this;\r\n switch (item.widget) {\r\n case \"dxSelectBox\":\r\n case \"dxColorBox\":\r\n case \"dxCheckBox\":\r\n return {\r\n options: {\r\n onValueChanged: function(e) {\r\n var parameter = _uiDiagram2.default.getItemCommandParameter(_this5, item, e.component.option(\"value\"));\r\n handler.call(_this5, item.command, item.name, parameter)\r\n }\r\n }\r\n };\r\n case \"dxTextBox\":\r\n return {};\r\n default:\r\n return {\r\n options: {\r\n onClick: function(e) {\r\n if (!item.items) {\r\n var parameter = _uiDiagram2.default.getItemCommandParameter(_this5, item);\r\n handler.call(_this5, item.command, item.name, parameter)\r\n } else {\r\n var contextMenu = e.component._contextMenu;\r\n if (contextMenu) {\r\n _this5._toggleContextMenu(contextMenu)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n };\r\n _proto._toggleContextMenu = function(contextMenu) {\r\n this._contextMenuList.forEach(function(cm) {\r\n if (contextMenu !== cm) {\r\n cm.hide()\r\n }\r\n });\r\n contextMenu.toggle()\r\n };\r\n _proto._onItemInitialized = function(widget, item) {\r\n this._addItemHelper(item.command, new DiagramToolbarItemHelper(widget))\r\n };\r\n _proto._onItemContentReady = function(widget, item, actionHandler) {\r\n var _this6 = this;\r\n var _getDiagram = (0, _diagram2.getDiagram)(),\r\n Browser = _getDiagram.Browser;\r\n if ((\"dxButton\" === widget.NAME || \"dxTextBox\" === widget.NAME) && item.items) {\r\n var $menuContainer = (0, _renderer.default)(\"
\").appendTo(this.$element());\r\n widget._contextMenu = this._createComponent($menuContainer, _context_menu.default, {\r\n items: item.items,\r\n target: widget.$element(),\r\n cssClass: _uiDiagram2.default.getContextMenuCssClass(),\r\n showEvent: \"\",\r\n closeOnOutsideClick: function(e) {\r\n return !Browser.TouchUI && 0 === (0, _renderer.default)(e.target).closest(widget._contextMenu._dropDownButtonElement).length\r\n },\r\n focusStateEnabled: false,\r\n position: {\r\n at: \"left bottom\"\r\n },\r\n itemTemplate: function(itemData, itemIndex, itemElement) {\r\n _uiDiagram2.default.getContextMenuItemTemplate(this, itemData, itemIndex, itemElement)\r\n },\r\n onItemClick: function(_ref2) {\r\n var component = _ref2.component,\r\n itemData = _ref2.itemData;\r\n _uiDiagram2.default.onContextMenuItemClick(_this6, itemData, actionHandler.bind(_this6));\r\n if (!itemData.items || !itemData.items.length) {\r\n component.hide()\r\n }\r\n },\r\n onShowing: function(e) {\r\n if (_this6._showingSubMenu) {\r\n return\r\n }\r\n _this6._showingSubMenu = e.component;\r\n _this6._onSubMenuVisibilityChangingAction({\r\n visible: true,\r\n component: _this6\r\n });\r\n e.component.option(\"items\", e.component.option(\"items\"));\r\n delete _this6._showingSubMenu\r\n },\r\n onInitialized: function(_ref3) {\r\n var component = _ref3.component;\r\n return _this6._onContextMenuInitialized(component, item, widget)\r\n },\r\n onDisposing: function(_ref4) {\r\n var component = _ref4.component;\r\n return _this6._onContextMenuDisposing(component, item)\r\n }\r\n });\r\n if (!Browser.TouchUI) {\r\n widget._contextMenu._dropDownButtonElement = widget.$element();\r\n if (\"dxTextBox\" === widget.NAME) {\r\n widget._contextMenu._dropDownButtonElement = widget.getButton(\"dropDown\").element()\r\n }\r\n }\r\n }\r\n };\r\n _proto._onContextMenuInitialized = function(widget, item, rootWidget) {\r\n this._contextMenuList.push(widget);\r\n if (item.command) {\r\n this._commandContextMenus[item.command] = widget\r\n }\r\n this._addContextMenuHelper(item, widget, [], rootWidget)\r\n };\r\n _proto._addItemHelper = function(command, helper) {\r\n if (void 0 !== command) {\r\n if (this._itemHelpers[command]) {\r\n throw new Error(\"Toolbar cannot contain duplicated commands.\")\r\n }\r\n this._itemHelpers[command] = helper\r\n }\r\n };\r\n _proto._addContextMenuHelper = function(item, widget, indexPath, rootWidget) {\r\n var _this7 = this;\r\n if (item.items) {\r\n item.items.forEach(function(subItem, index) {\r\n var itemIndexPath = indexPath.concat(index);\r\n _this7._addItemHelper(subItem.command, new DiagramToolbarSubItemHelper(widget, itemIndexPath, subItem.command, rootWidget));\r\n _this7._addContextMenuHelper(subItem, widget, itemIndexPath, rootWidget)\r\n })\r\n }\r\n };\r\n _proto._onContextMenuDisposing = function(widget, item) {\r\n this._contextMenuList.splice(this._contextMenuList.indexOf(widget), 1);\r\n delete this._commandContextMenus[item.command]\r\n };\r\n _proto._executeCommand = function(command, name, value) {\r\n if (this._updateLocked) {\r\n return\r\n }\r\n if (\"number\" === typeof command) {\r\n var valueConverter = this._valueConverters[command];\r\n if (valueConverter && valueConverter.getCommandValue) {\r\n value = valueConverter.getCommandValue(value)\r\n }\r\n this.bar.raiseBarCommandExecuted(command, value)\r\n } else {\r\n if (\"string\" === typeof command) {\r\n this._onInternalCommandAction({\r\n command: command\r\n })\r\n }\r\n }\r\n if (void 0 !== name) {\r\n this._onCustomCommandAction({\r\n name: name\r\n })\r\n }\r\n };\r\n _proto._createOnInternalCommand = function() {\r\n this._onInternalCommandAction = this._createActionByOption(\"onInternalCommand\")\r\n };\r\n _proto._createOnCustomCommand = function() {\r\n this._onCustomCommandAction = this._createActionByOption(\"onCustomCommand\")\r\n };\r\n _proto._setItemEnabled = function(command, enabled) {\r\n if (command in this._itemHelpers) {\r\n var helper = this._itemHelpers[command];\r\n if (helper.canUpdate(this._showingSubMenu)) {\r\n helper.setEnabled(enabled)\r\n }\r\n }\r\n };\r\n _proto._setEnabled = function(enabled) {\r\n this._toolbarInstance.option(\"disabled\", !enabled);\r\n this._contextMenuList.forEach(function(contextMenu) {\r\n contextMenu.option(\"disabled\", !enabled)\r\n })\r\n };\r\n _proto._setItemValue = function(command, value) {\r\n try {\r\n this._updateLocked = true;\r\n if (command in this._itemHelpers) {\r\n var helper = this._itemHelpers[command];\r\n if (helper.canUpdate(this._showingSubMenu)) {\r\n var valueConverter = this._valueConverters[command];\r\n if (valueConverter && valueConverter.getEditorValue) {\r\n value = valueConverter.getEditorValue(value)\r\n }\r\n var displayValue;\r\n if (valueConverter && valueConverter.getEditorDisplayValue) {\r\n displayValue = valueConverter.getEditorDisplayValue(value)\r\n }\r\n var contextMenu = this._commandContextMenus[command];\r\n helper.setValue(value, displayValue, contextMenu, contextMenu && command)\r\n }\r\n }\r\n } finally {\r\n this._updateLocked = false\r\n }\r\n };\r\n _proto._setItemSubItems = function(command, items) {\r\n this._updateLocked = true;\r\n if (command in this._itemHelpers) {\r\n var helper = this._itemHelpers[command];\r\n if (helper.canUpdate(this._showingSubMenu)) {\r\n var contextMenu = this._commandContextMenus[command];\r\n helper.setItems(items, contextMenu, contextMenu && command)\r\n }\r\n }\r\n this._updateLocked = false\r\n };\r\n _proto._createOnSubMenuVisibilityChangingAction = function() {\r\n this._onSubMenuVisibilityChangingAction = this._createActionByOption(\"onSubMenuVisibilityChanging\")\r\n };\r\n _proto._optionChanged = function(args) {\r\n switch (args.name) {\r\n case \"isMobileView\":\r\n (0, _renderer.default)(\"body\").removeClass(DIAGRAM_MOBILE_TOOLBAR_COLOR_BOX_OPENED_CLASS);\r\n this._invalidate();\r\n break;\r\n case \"onSubMenuVisibilityChanging\":\r\n this._createOnSubMenuVisibilityChangingAction();\r\n break;\r\n case \"onInternalCommand\":\r\n this._createOnInternalCommand();\r\n break;\r\n case \"onCustomCommand\":\r\n this._createOnCustomCommand();\r\n break;\r\n case \"container\":\r\n case \"commands\":\r\n this._invalidate();\r\n break;\r\n case \"export\":\r\n break;\r\n default:\r\n _DiagramPanel.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_DiagramPanel.prototype._getDefaultOptions.call(this), {\r\n isMobileView: false,\r\n \"export\": {\r\n fileName: \"Diagram\",\r\n proxyUrl: void 0\r\n },\r\n locateInMenu: \"auto\",\r\n buttonStylingMode: \"text\",\r\n buttonType: \"normal\",\r\n editorStylingMode: \"filled\",\r\n skipAdjustSize: false\r\n })\r\n };\r\n _proto.setCommandChecked = function(command, checked) {\r\n this._setItemValue(command, checked)\r\n };\r\n _proto.setCommandEnabled = function(command, enabled) {\r\n this._setItemEnabled(command, enabled)\r\n };\r\n return DiagramToolbar\r\n}(_uiDiagram.default);\r\nvar DiagramToolbarBar = function(_DiagramBar) {\r\n _inheritsLoose(DiagramToolbarBar, _DiagramBar);\r\n\r\n function DiagramToolbarBar() {\r\n return _DiagramBar.apply(this, arguments) || this\r\n }\r\n var _proto2 = DiagramToolbarBar.prototype;\r\n _proto2.getCommandKeys = function() {\r\n return this._getKeys(this._owner._commands)\r\n };\r\n _proto2.setItemValue = function(key, value) {\r\n this._owner._setItemValue(key, value)\r\n };\r\n _proto2.setItemEnabled = function(key, enabled) {\r\n this._owner._setItemEnabled(key, enabled)\r\n };\r\n _proto2.setEnabled = function(enabled) {\r\n this._owner._setEnabled(enabled)\r\n };\r\n _proto2.setItemSubItems = function(key, items) {\r\n this._owner._setItemSubItems(key, items)\r\n };\r\n return DiagramToolbarBar\r\n}(_diagram.default);\r\nvar DiagramToolbarItemHelper = function() {\r\n function DiagramToolbarItemHelper(widget) {\r\n this._widget = widget\r\n }\r\n var _proto3 = DiagramToolbarItemHelper.prototype;\r\n _proto3.canUpdate = function(showingSubMenu) {\r\n return void 0 === showingSubMenu\r\n };\r\n _proto3.setEnabled = function(enabled) {\r\n this._widget.option(\"disabled\", !enabled)\r\n };\r\n _proto3.setValue = function(value, displayValue, contextMenu, rootCommandKey) {\r\n if (\"value\" in this._widget.option()) {\r\n this._updateEditorValue(value, displayValue)\r\n } else {\r\n if (void 0 !== value) {\r\n this._updateButtonValue(value)\r\n }\r\n }\r\n if (contextMenu) {\r\n this._updateContextMenuItemValue(contextMenu, \"\", rootCommandKey, value)\r\n }\r\n };\r\n _proto3.setItems = function(items, contextMenu, rootCommandKey) {\r\n if (contextMenu) {\r\n this._updateContextMenuItems(contextMenu, \"\", rootCommandKey, items)\r\n } else {\r\n this._updateEditorItems(items)\r\n }\r\n };\r\n _proto3._updateContextMenuItems = function(contextMenu, itemOptionText, rootCommandKey, items) {\r\n _uiDiagram2.default.updateContextMenuItems(contextMenu, itemOptionText, rootCommandKey, items)\r\n };\r\n _proto3._updateEditorItems = function(items) {\r\n if (\"items\" in this._widget.option()) {\r\n this._widget.option(\"items\", items.map(function(item) {\r\n return {\r\n value: _uiDiagram2.default.getItemValue(item),\r\n text: item.text\r\n }\r\n }))\r\n }\r\n };\r\n _proto3._updateEditorValue = function(value, displayValue) {\r\n this._widget.option(\"value\", value);\r\n if (!this._widget.option(\"selectedItem\") && displayValue) {\r\n this._widget.option(\"value\", displayValue)\r\n }\r\n };\r\n _proto3._updateButtonValue = function(value) {\r\n if (this._widget.option(\"iconChecked\") && this._widget.option(\"iconUnchecked\")) {\r\n this._widget.option(\"icon\", value ? this._widget.option(\"iconChecked\") : this._widget.option(\"iconUnchecked\"))\r\n } else {\r\n this._widget.$element().toggleClass(ACTIVE_FORMAT_CLASS, value)\r\n }\r\n };\r\n _proto3._updateContextMenuItemValue = function(contextMenu, itemOptionText, rootCommandKey, value) {\r\n _uiDiagram2.default.updateContextMenuItemValue(contextMenu, itemOptionText, rootCommandKey, value)\r\n };\r\n return DiagramToolbarItemHelper\r\n}();\r\nvar DiagramToolbarSubItemHelper = function(_DiagramToolbarItemHe) {\r\n _inheritsLoose(DiagramToolbarSubItemHelper, _DiagramToolbarItemHe);\r\n\r\n function DiagramToolbarSubItemHelper(widget, indexPath, rootCommandKey, rootWidget) {\r\n var _this8;\r\n _this8 = _DiagramToolbarItemHe.call(this, widget) || this;\r\n _this8._indexPath = indexPath;\r\n _this8._rootCommandKey = rootCommandKey;\r\n _this8._rootWidget = rootWidget;\r\n return _this8\r\n }\r\n var _proto4 = DiagramToolbarSubItemHelper.prototype;\r\n _proto4.canUpdate = function(showingSubMenu) {\r\n return _DiagramToolbarItemHe.prototype.canUpdate.call(this, showingSubMenu) || showingSubMenu === this._widget\r\n };\r\n _proto4.setEnabled = function(enabled) {\r\n this._widget.option(this._getItemOptionText() + \"disabled\", !enabled);\r\n var rootEnabled = this._hasEnabledCommandItems(this._widget.option(\"items\"));\r\n this._rootWidget.option(\"disabled\", !rootEnabled)\r\n };\r\n _proto4._hasEnabledCommandItems = function(items) {\r\n var _this9 = this;\r\n if (items) {\r\n return items.some(function(item) {\r\n return void 0 !== item.command && !item.disabled || _this9._hasEnabledCommandItems(item.items)\r\n })\r\n }\r\n return false\r\n };\r\n _proto4.setValue = function(value) {\r\n this._updateContextMenuItemValue(this._widget, this._getItemOptionText(), this._rootCommandKey, value)\r\n };\r\n _proto4.setItems = function(items) {\r\n this._updateContextMenuItems(this._widget, this._getItemOptionText(), this._rootCommandKey, items)\r\n };\r\n _proto4._getItemOptionText = function() {\r\n return _uiDiagram2.default.getItemOptionText(this._widget, this._indexPath)\r\n };\r\n return DiagramToolbarSubItemHelper\r\n}(DiagramToolbarItemHelper);\r\nvar _default = DiagramToolbar;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/draggable.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _window = require(\"../core/utils/window\");\r\nvar _events_engine = _interopRequireDefault(require(\"../events/core/events_engine\"));\r\nvar _string = require(\"../core/utils/string\");\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _translator = require(\"../animation/translator\");\r\nvar _animator = _interopRequireDefault(require(\"./scroll_view/animator\"));\r\nvar _browser = _interopRequireDefault(require(\"../core/utils/browser\"));\r\nvar _inflector = require(\"../core/utils/inflector\");\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _dom_component = _interopRequireDefault(require(\"../core/dom_component\"));\r\nvar _element = require(\"../core/element\");\r\nvar _index = require(\"../events/utils/index\");\r\nvar _pointer = _interopRequireDefault(require(\"../events/pointer\"));\r\nvar _drag = require(\"../events/drag\");\r\nvar _position = _interopRequireDefault(require(\"../animation/position\"));\r\nvar _type = require(\"../core/utils/type\");\r\nvar _common = require(\"../core/utils/common\");\r\nvar _view_port = require(\"../core/utils/view_port\");\r\nvar _empty_template = require(\"../core/templates/empty_template\");\r\nvar _deferred = require(\"../core/utils/deferred\");\r\nvar _position2 = require(\"../core/utils/position\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\nvar window = (0, _window.getWindow)();\r\nvar DRAGGABLE = \"dxDraggable\";\r\nvar DRAGSTART_EVENT_NAME = (0, _index.addNamespace)(_drag.start, DRAGGABLE);\r\nvar DRAG_EVENT_NAME = (0, _index.addNamespace)(_drag.move, DRAGGABLE);\r\nvar DRAGEND_EVENT_NAME = (0, _index.addNamespace)(_drag.end, DRAGGABLE);\r\nvar DRAG_ENTER_EVENT_NAME = (0, _index.addNamespace)(_drag.enter, DRAGGABLE);\r\nvar DRAGEND_LEAVE_EVENT_NAME = (0, _index.addNamespace)(_drag.leave, DRAGGABLE);\r\nvar POINTERDOWN_EVENT_NAME = (0, _index.addNamespace)(_pointer.default.down, DRAGGABLE);\r\nvar CLONE_CLASS = \"clone\";\r\nvar targetDraggable;\r\nvar sourceDraggable;\r\nvar ANONYMOUS_TEMPLATE_NAME = \"content\";\r\nvar getMousePosition = function(event) {\r\n return {\r\n x: event.pageX - (0, _renderer.default)(window).scrollLeft(),\r\n y: event.pageY - (0, _renderer.default)(window).scrollTop()\r\n }\r\n};\r\nvar GESTURE_COVER_CLASS = \"dx-gesture-cover\";\r\nvar ScrollHelper = function() {\r\n function ScrollHelper(orientation, component) {\r\n this._preventScroll = true;\r\n this._component = component;\r\n if (\"vertical\" === orientation) {\r\n this._scrollValue = \"scrollTop\";\r\n this._overFlowAttr = \"overflowY\";\r\n this._sizeAttr = \"height\";\r\n this._scrollSizeProp = \"scrollHeight\";\r\n this._clientSizeProp = \"clientHeight\";\r\n this._limitProps = {\r\n start: \"top\",\r\n end: \"bottom\"\r\n }\r\n } else {\r\n this._scrollValue = \"scrollLeft\";\r\n this._overFlowAttr = \"overflowX\";\r\n this._sizeAttr = \"width\";\r\n this._scrollSizeProp = \"scrollWidth\";\r\n this._clientSizeProp = \"clientWidth\";\r\n this._limitProps = {\r\n start: \"left\",\r\n end: \"right\"\r\n }\r\n }\r\n }\r\n var _proto = ScrollHelper.prototype;\r\n _proto.updateScrollable = function(elements, mousePosition) {\r\n var that = this;\r\n if (!elements.some(function(element) {\r\n return that._trySetScrollable(element, mousePosition)\r\n })) {\r\n that._$scrollableAtPointer = null;\r\n that._scrollSpeed = 0\r\n }\r\n };\r\n _proto.isScrolling = function() {\r\n return !!this._scrollSpeed\r\n };\r\n _proto.isScrollable = function($element) {\r\n var that = this;\r\n return (\"auto\" === $element.css(that._overFlowAttr) || $element.hasClass(\"dx-scrollable-container\")) && $element.prop(that._scrollSizeProp) > $element[that._sizeAttr]()\r\n };\r\n _proto._trySetScrollable = function(element, mousePosition) {\r\n var that = this;\r\n var $element = (0, _renderer.default)(element);\r\n var distanceToBorders;\r\n var sensitivity = that._component.option(\"scrollSensitivity\");\r\n var isScrollable = that.isScrollable($element);\r\n if (isScrollable) {\r\n distanceToBorders = that._calculateDistanceToBorders($element, mousePosition);\r\n if (sensitivity > distanceToBorders[that._limitProps.start]) {\r\n if (!that._preventScroll) {\r\n that._scrollSpeed = -that._calculateScrollSpeed(distanceToBorders[that._limitProps.start]);\r\n that._$scrollableAtPointer = $element\r\n }\r\n } else {\r\n if (sensitivity > distanceToBorders[that._limitProps.end]) {\r\n if (!that._preventScroll) {\r\n that._scrollSpeed = that._calculateScrollSpeed(distanceToBorders[that._limitProps.end]);\r\n that._$scrollableAtPointer = $element\r\n }\r\n } else {\r\n isScrollable = false;\r\n that._preventScroll = false\r\n }\r\n }\r\n }\r\n return isScrollable\r\n };\r\n _proto._calculateDistanceToBorders = function($area, mousePosition) {\r\n var area = $area.get(0);\r\n var areaBoundingRect;\r\n if (area) {\r\n areaBoundingRect = (0, _position2.getBoundingRect)(area);\r\n return {\r\n left: mousePosition.x - areaBoundingRect.left,\r\n top: mousePosition.y - areaBoundingRect.top,\r\n right: areaBoundingRect.right - mousePosition.x,\r\n bottom: areaBoundingRect.bottom - mousePosition.y\r\n }\r\n } else {\r\n return {}\r\n }\r\n };\r\n _proto._calculateScrollSpeed = function(distance) {\r\n var component = this._component;\r\n var sensitivity = component.option(\"scrollSensitivity\");\r\n var maxSpeed = component.option(\"scrollSpeed\");\r\n return Math.ceil(Math.pow((sensitivity - distance) / sensitivity, 2) * maxSpeed)\r\n };\r\n _proto.scrollByStep = function() {\r\n var that = this;\r\n if (that._$scrollableAtPointer && that._scrollSpeed) {\r\n if (that._$scrollableAtPointer.hasClass(\"dx-scrollable-container\")) {\r\n var $scrollable = that._$scrollableAtPointer.closest(\".dx-scrollable\");\r\n var scrollableInstance = $scrollable.data(\"dxScrollable\") || $scrollable.data(\"dxScrollView\");\r\n if (scrollableInstance) {\r\n var nextScrollPosition = scrollableInstance.scrollOffset()[that._limitProps.start] + that._scrollSpeed;\r\n scrollableInstance.scrollTo(_defineProperty({}, that._limitProps.start, nextScrollPosition))\r\n }\r\n } else {\r\n var _nextScrollPosition = that._$scrollableAtPointer[that._scrollValue]() + that._scrollSpeed;\r\n that._$scrollableAtPointer[that._scrollValue](_nextScrollPosition)\r\n }\r\n var dragMoveArgs = that._component._dragMoveArgs;\r\n if (dragMoveArgs) {\r\n that._component._dragMoveHandler(dragMoveArgs)\r\n }\r\n }\r\n };\r\n _proto.reset = function() {\r\n this._$scrollableAtPointer = null;\r\n this._scrollSpeed = 0;\r\n this._preventScroll = true\r\n };\r\n _proto.isOutsideScrollable = function($scrollable, event) {\r\n if (!$scrollable) {\r\n return false\r\n }\r\n var scrollableSize = (0, _position2.getBoundingRect)($scrollable.get(0));\r\n var start = scrollableSize[this._limitProps.start];\r\n var size = scrollableSize[this._sizeAttr];\r\n var mousePosition = getMousePosition(event);\r\n var location = \"width\" === this._sizeAttr ? mousePosition.x : mousePosition.y;\r\n return location < start || location > start + size\r\n };\r\n return ScrollHelper\r\n}();\r\nvar ScrollAnimator = _animator.default.inherit({\r\n ctor: function(strategy) {\r\n this.callBase();\r\n this._strategy = strategy\r\n },\r\n _step: function() {\r\n var horizontalScrollHelper = this._strategy._horizontalScrollHelper;\r\n var verticalScrollHelper = this._strategy._verticalScrollHelper;\r\n horizontalScrollHelper && horizontalScrollHelper.scrollByStep();\r\n verticalScrollHelper && verticalScrollHelper.scrollByStep()\r\n }\r\n});\r\nvar Draggable = _dom_component.default.inherit({\r\n reset: _common.noop,\r\n dragMove: _common.noop,\r\n dragEnter: _common.noop,\r\n dragLeave: _common.noop,\r\n dragEnd: function(sourceEvent) {\r\n var sourceDraggable = this._getSourceDraggable();\r\n sourceDraggable._fireRemoveEvent(sourceEvent);\r\n return (new _deferred.Deferred).resolve()\r\n },\r\n _fireRemoveEvent: _common.noop,\r\n _getDefaultOptions: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n onDragStart: null,\r\n onDragMove: null,\r\n onDragEnd: null,\r\n onDragEnter: null,\r\n onDragLeave: null,\r\n onDrop: null,\r\n immediate: true,\r\n dragDirection: \"both\",\r\n boundary: void 0,\r\n boundOffset: 0,\r\n allowMoveByClick: false,\r\n itemData: null,\r\n container: void 0,\r\n dragTemplate: void 0,\r\n contentTemplate: \"content\",\r\n handle: \"\",\r\n filter: \"\",\r\n clone: false,\r\n autoScroll: true,\r\n scrollSpeed: 30,\r\n scrollSensitivity: 60,\r\n group: void 0,\r\n data: void 0\r\n })\r\n },\r\n _setOptionsByReference: function() {\r\n this.callBase.apply(this, arguments);\r\n (0, _extend.extend)(this._optionsByReference, {\r\n component: true,\r\n group: true,\r\n itemData: true,\r\n data: true\r\n })\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._attachEventHandlers();\r\n this._scrollAnimator = new ScrollAnimator(this);\r\n this._horizontalScrollHelper = new ScrollHelper(\"horizontal\", this);\r\n this._verticalScrollHelper = new ScrollHelper(\"vertical\", this)\r\n },\r\n _normalizeCursorOffset: function(offset) {\r\n if ((0, _type.isObject)(offset)) {\r\n offset = {\r\n h: offset.x,\r\n v: offset.y\r\n }\r\n }\r\n offset = (0, _common.splitPair)(offset).map(function(value) {\r\n return parseFloat(value)\r\n });\r\n return {\r\n left: offset[0],\r\n top: 1 === offset.length ? offset[0] : offset[1]\r\n }\r\n },\r\n _getNormalizedCursorOffset: function(offset, options) {\r\n if ((0, _type.isFunction)(offset)) {\r\n offset = offset.call(this, options)\r\n }\r\n return this._normalizeCursorOffset(offset)\r\n },\r\n _calculateElementOffset: function(options) {\r\n var elementOffset;\r\n var dragElementOffset;\r\n var event = options.event;\r\n var $element = (0, _renderer.default)(options.itemElement);\r\n var $dragElement = (0, _renderer.default)(options.dragElement);\r\n var isCloned = this._dragElementIsCloned();\r\n var cursorOffset = this.option(\"cursorOffset\");\r\n var normalizedCursorOffset = {\r\n left: 0,\r\n top: 0\r\n };\r\n var currentLocate = this._initialLocate = (0, _translator.locate)($dragElement);\r\n if (isCloned || options.initialOffset || cursorOffset) {\r\n elementOffset = options.initialOffset || $element.offset();\r\n if (cursorOffset) {\r\n normalizedCursorOffset = this._getNormalizedCursorOffset(cursorOffset, options);\r\n if (isFinite(normalizedCursorOffset.left)) {\r\n elementOffset.left = event.pageX\r\n }\r\n if (isFinite(normalizedCursorOffset.top)) {\r\n elementOffset.top = event.pageY\r\n }\r\n }\r\n dragElementOffset = $dragElement.offset();\r\n elementOffset.top -= dragElementOffset.top + (normalizedCursorOffset.top || 0) - currentLocate.top;\r\n elementOffset.left -= dragElementOffset.left + (normalizedCursorOffset.left || 0) - currentLocate.left\r\n }\r\n return elementOffset\r\n },\r\n _initPosition: function(options) {\r\n var $dragElement = (0, _renderer.default)(options.dragElement);\r\n var elementOffset = this._calculateElementOffset(options);\r\n if (elementOffset) {\r\n this._move(elementOffset, $dragElement)\r\n }\r\n this._startPosition = (0, _translator.locate)($dragElement)\r\n },\r\n _startAnimator: function() {\r\n if (!this._scrollAnimator.inProgress()) {\r\n this._scrollAnimator.start()\r\n }\r\n },\r\n _stopAnimator: function() {\r\n this._scrollAnimator.stop()\r\n },\r\n _addWidgetPrefix: function(className) {\r\n var componentName = this.NAME;\r\n return (0, _inflector.dasherize)(componentName) + (className ? \"-\" + className : \"\")\r\n },\r\n _getItemsSelector: function() {\r\n return this.option(\"filter\") || \"\"\r\n },\r\n _$content: function() {\r\n var $element = this.$element();\r\n var $wrapper = $element.children(\".dx-template-wrapper\");\r\n return $wrapper.length ? $wrapper : $element\r\n },\r\n _attachEventHandlers: function() {\r\n var _this = this;\r\n if (this.option(\"disabled\")) {\r\n return\r\n }\r\n var $element = this._$content();\r\n var itemsSelector = this._getItemsSelector();\r\n var allowMoveByClick = this.option(\"allowMoveByClick\");\r\n var data = {\r\n direction: this.option(\"dragDirection\"),\r\n immediate: this.option(\"immediate\"),\r\n checkDropTarget: function($target, event) {\r\n var targetGroup = _this.option(\"group\");\r\n var sourceGroup = _this._getSourceDraggable().option(\"group\");\r\n var $scrollable = _this._getScrollable($target);\r\n if (_this._verticalScrollHelper.isOutsideScrollable($scrollable, event) || _this._horizontalScrollHelper.isOutsideScrollable($scrollable, event)) {\r\n return false\r\n }\r\n return sourceGroup && sourceGroup === targetGroup\r\n }\r\n };\r\n if (allowMoveByClick) {\r\n $element = this._getArea();\r\n _events_engine.default.on($element, POINTERDOWN_EVENT_NAME, data, this._pointerDownHandler.bind(this))\r\n }\r\n if (\">\" === itemsSelector[0]) {\r\n itemsSelector = itemsSelector.slice(1)\r\n }\r\n _events_engine.default.on($element, DRAGSTART_EVENT_NAME, itemsSelector, data, this._dragStartHandler.bind(this));\r\n _events_engine.default.on($element, DRAG_EVENT_NAME, data, this._dragMoveHandler.bind(this));\r\n _events_engine.default.on($element, DRAGEND_EVENT_NAME, data, this._dragEndHandler.bind(this));\r\n _events_engine.default.on($element, DRAG_ENTER_EVENT_NAME, data, this._dragEnterHandler.bind(this));\r\n _events_engine.default.on($element, DRAGEND_LEAVE_EVENT_NAME, data, this._dragLeaveHandler.bind(this))\r\n },\r\n _dragElementIsCloned: function() {\r\n return this._$dragElement && this._$dragElement.hasClass(this._addWidgetPrefix(CLONE_CLASS))\r\n },\r\n _getDragTemplateArgs: function($element, $container) {\r\n return {\r\n container: (0, _element.getPublicElement)($container),\r\n model: {\r\n itemData: this.option(\"itemData\"),\r\n itemElement: (0, _element.getPublicElement)($element)\r\n }\r\n }\r\n },\r\n _createDragElement: function($element) {\r\n var result = $element;\r\n var clone = this.option(\"clone\");\r\n var $container = this._getContainer();\r\n var template = this.option(\"dragTemplate\");\r\n if (template) {\r\n template = this._getTemplate(template);\r\n result = (0, _renderer.default)(\"
\").appendTo($container);\r\n template.render(this._getDragTemplateArgs($element, result))\r\n } else {\r\n if (clone) {\r\n result = (0, _renderer.default)(\"
\").appendTo($container);\r\n $element.clone().css({\r\n width: $element.css(\"width\"),\r\n height: $element.css(\"height\")\r\n }).appendTo(result)\r\n }\r\n }\r\n return result.toggleClass(this._addWidgetPrefix(CLONE_CLASS), result.get(0) !== $element.get(0)).toggleClass(\"dx-rtl\", this.option(\"rtlEnabled\"))\r\n },\r\n _resetDragElement: function() {\r\n if (this._dragElementIsCloned()) {\r\n this._$dragElement.remove()\r\n } else {\r\n this._toggleDraggingClass(false)\r\n }\r\n this._$dragElement = null\r\n },\r\n _resetSourceElement: function() {\r\n this._toggleDragSourceClass(false);\r\n this._$sourceElement = null\r\n },\r\n _detachEventHandlers: function() {\r\n _events_engine.default.off(this._$content(), \".\" + DRAGGABLE);\r\n _events_engine.default.off(this._getArea(), \".\" + DRAGGABLE)\r\n },\r\n _move: function(position, $element) {\r\n (0, _translator.move)($element || this._$dragElement, position)\r\n },\r\n _getDraggableElement: function(e) {\r\n var $sourceElement = this._getSourceElement();\r\n if ($sourceElement) {\r\n return $sourceElement\r\n }\r\n var allowMoveByClick = this.option(\"allowMoveByClick\");\r\n if (allowMoveByClick) {\r\n return this.$element()\r\n }\r\n var $target = (0, _renderer.default)(e && e.target);\r\n var itemsSelector = this._getItemsSelector();\r\n if (\">\" === itemsSelector[0]) {\r\n var $items = this._$content().find(itemsSelector);\r\n if (!$items.is($target)) {\r\n $target = $target.closest($items)\r\n }\r\n }\r\n return $target\r\n },\r\n _getSourceElement: function() {\r\n var draggable = this._getSourceDraggable();\r\n return draggable._$sourceElement\r\n },\r\n _pointerDownHandler: function(e) {\r\n if ((0, _index.needSkipEvent)(e)) {\r\n return\r\n }\r\n var position = {};\r\n var $element = this.$element();\r\n var dragDirection = this.option(\"dragDirection\");\r\n if (\"horizontal\" === dragDirection || \"both\" === dragDirection) {\r\n position.left = e.pageX - $element.offset().left + (0, _translator.locate)($element).left - $element.width() / 2\r\n }\r\n if (\"vertical\" === dragDirection || \"both\" === dragDirection) {\r\n position.top = e.pageY - $element.offset().top + (0, _translator.locate)($element).top - $element.height() / 2\r\n }\r\n this._move(position, $element);\r\n this._getAction(\"onDragMove\")(this._getEventArgs(e))\r\n },\r\n _isValidElement: function(event, $element) {\r\n var handle = this.option(\"handle\");\r\n var $target = (0, _renderer.default)(event.originalEvent && event.originalEvent.target);\r\n if (handle && !$target.closest(handle).length) {\r\n return false\r\n }\r\n if (!$element.length) {\r\n return false\r\n }\r\n return !$element.is(\".dx-state-disabled, .dx-state-disabled *\")\r\n },\r\n _dragStartHandler: function(e) {\r\n var $element = this._getDraggableElement(e);\r\n if (this._$sourceElement) {\r\n return\r\n }\r\n if (!this._isValidElement(e, $element)) {\r\n e.cancel = true;\r\n return\r\n }\r\n var dragStartArgs = this._getDragStartArgs(e, $element);\r\n this._getAction(\"onDragStart\")(dragStartArgs);\r\n if (dragStartArgs.cancel) {\r\n e.cancel = true;\r\n return\r\n }\r\n this.option(\"itemData\", dragStartArgs.itemData);\r\n this._setSourceDraggable();\r\n this._$sourceElement = $element;\r\n var initialOffset = $element.offset();\r\n var $dragElement = this._$dragElement = this._createDragElement($element);\r\n this._toggleDraggingClass(true);\r\n this._toggleDragSourceClass(true);\r\n this._setGestureCoverCursor($dragElement.children());\r\n var isFixedPosition = \"fixed\" === $dragElement.css(\"position\");\r\n this._initPosition((0, _extend.extend)({}, dragStartArgs, {\r\n dragElement: $dragElement.get(0),\r\n initialOffset: isFixedPosition && initialOffset\r\n }));\r\n var $area = this._getArea();\r\n var areaOffset = this._getAreaOffset($area);\r\n var boundOffset = this._getBoundOffset();\r\n var areaWidth = $area.outerWidth();\r\n var areaHeight = $area.outerHeight();\r\n var elementWidth = $dragElement.width();\r\n var elementHeight = $dragElement.height();\r\n var startOffset = {\r\n left: $dragElement.offset().left - areaOffset.left,\r\n top: $dragElement.offset().top - areaOffset.top\r\n };\r\n if ($area.length) {\r\n e.maxLeftOffset = startOffset.left - boundOffset.left;\r\n e.maxRightOffset = areaWidth - startOffset.left - elementWidth - boundOffset.right;\r\n e.maxTopOffset = startOffset.top - boundOffset.top;\r\n e.maxBottomOffset = areaHeight - startOffset.top - elementHeight - boundOffset.bottom\r\n }\r\n if (this.option(\"autoScroll\")) {\r\n this._startAnimator()\r\n }\r\n },\r\n _getAreaOffset: function($area) {\r\n var offset = $area && _position.default.offset($area);\r\n return offset ? offset : {\r\n left: 0,\r\n top: 0\r\n }\r\n },\r\n _toggleDraggingClass: function(value) {\r\n this._$dragElement && this._$dragElement.toggleClass(this._addWidgetPrefix(\"dragging\"), value)\r\n },\r\n _toggleDragSourceClass: function(value, $element) {\r\n var $sourceElement = $element || this._$sourceElement;\r\n $sourceElement && $sourceElement.toggleClass(this._addWidgetPrefix(\"source\"), value)\r\n },\r\n _setGestureCoverCursor: function($element) {\r\n (0, _renderer.default)(\".\".concat(GESTURE_COVER_CLASS)).css(\"cursor\", $element.css(\"cursor\"))\r\n },\r\n _getBoundOffset: function() {\r\n var boundOffset = this.option(\"boundOffset\");\r\n if ((0, _type.isFunction)(boundOffset)) {\r\n boundOffset = boundOffset.call(this)\r\n }\r\n return (0, _string.quadToObject)(boundOffset)\r\n },\r\n _getArea: function() {\r\n var area = this.option(\"boundary\");\r\n if ((0, _type.isFunction)(area)) {\r\n area = area.call(this)\r\n }\r\n return (0, _renderer.default)(area)\r\n },\r\n _getContainer: function() {\r\n var container = this.option(\"container\");\r\n if (void 0 === container) {\r\n container = (0, _view_port.value)()\r\n }\r\n return (0, _renderer.default)(container)\r\n },\r\n _dragMoveHandler: function(e, scrollBy) {\r\n this._dragMoveArgs = e;\r\n if (!this._$dragElement) {\r\n e.cancel = true;\r\n return\r\n }\r\n var offset = e.offset;\r\n var startPosition = this._startPosition;\r\n this._move({\r\n left: startPosition.left + offset.x,\r\n top: startPosition.top + offset.y\r\n });\r\n if (!scrollBy) {\r\n this._updateScrollable(e)\r\n }\r\n var eventArgs = this._getEventArgs(e);\r\n this._getAction(\"onDragMove\")(eventArgs);\r\n if (true === eventArgs.cancel) {\r\n return\r\n }\r\n var targetDraggable = this._getTargetDraggable();\r\n targetDraggable.dragMove(e, scrollBy)\r\n },\r\n _updateScrollable: function(e) {\r\n var that = this;\r\n if (that.option(\"autoScroll\")) {\r\n var mousePosition = getMousePosition(e);\r\n var allObjects = that.getElementsFromPoint(mousePosition);\r\n that._verticalScrollHelper.updateScrollable(allObjects, mousePosition);\r\n that._horizontalScrollHelper.updateScrollable(allObjects, mousePosition)\r\n }\r\n },\r\n getElementsFromPoint: function(position, dragElement) {\r\n var ownerDocument = (dragElement || this._$dragElement.get(0)).ownerDocument;\r\n if (_browser.default.msie) {\r\n var msElements = ownerDocument.msElementsFromPoint(position.x, position.y);\r\n if (msElements) {\r\n return Array.prototype.slice.call(msElements)\r\n }\r\n return []\r\n }\r\n return ownerDocument.elementsFromPoint(position.x, position.y)\r\n },\r\n _getScrollable: function($element) {\r\n var _this2 = this;\r\n var $scrollable;\r\n $element.parents().toArray().some(function(parent) {\r\n var $parent = (0, _renderer.default)(parent);\r\n if (_this2._horizontalScrollHelper.isScrollable($parent) || _this2._verticalScrollHelper.isScrollable($parent)) {\r\n $scrollable = $parent;\r\n return true\r\n }\r\n });\r\n return $scrollable\r\n },\r\n _defaultActionArgs: function() {\r\n var args = this.callBase.apply(this, arguments);\r\n var component = this.option(\"component\");\r\n if (component) {\r\n args.component = component;\r\n args.element = component.element()\r\n }\r\n return args\r\n },\r\n _getEventArgs: function(e) {\r\n var sourceDraggable = this._getSourceDraggable();\r\n var targetDraggable = this._getTargetDraggable();\r\n return {\r\n event: e,\r\n itemData: sourceDraggable.option(\"itemData\"),\r\n itemElement: (0, _element.getPublicElement)(sourceDraggable._$sourceElement),\r\n fromComponent: sourceDraggable.option(\"component\") || sourceDraggable,\r\n toComponent: targetDraggable.option(\"component\") || targetDraggable,\r\n fromData: sourceDraggable.option(\"data\"),\r\n toData: targetDraggable.option(\"data\")\r\n }\r\n },\r\n _getDragStartArgs: function(e, $itemElement) {\r\n var args = this._getEventArgs(e);\r\n return {\r\n event: args.event,\r\n itemData: args.itemData,\r\n itemElement: $itemElement,\r\n fromData: args.fromData\r\n }\r\n },\r\n _revertItemToInitialPosition: function() {\r\n !this._dragElementIsCloned() && this._move(this._initialLocate, this._$sourceElement)\r\n },\r\n _dragEndHandler: function(e) {\r\n var _this3 = this;\r\n var d = new _deferred.Deferred;\r\n var dragEndEventArgs = this._getEventArgs(e);\r\n var dropEventArgs = this._getEventArgs(e);\r\n var targetDraggable = this._getTargetDraggable();\r\n var needRevertPosition = true;\r\n try {\r\n this._getAction(\"onDragEnd\")(dragEndEventArgs)\r\n } finally {\r\n (0, _deferred.when)((0, _deferred.fromPromise)(dragEndEventArgs.cancel)).done(function(cancel) {\r\n if (!cancel) {\r\n if (targetDraggable !== _this3) {\r\n targetDraggable._getAction(\"onDrop\")(dropEventArgs)\r\n }\r\n if (!dropEventArgs.cancel) {\r\n needRevertPosition = false;\r\n (0, _deferred.when)((0, _deferred.fromPromise)(targetDraggable.dragEnd(dragEndEventArgs))).always(d.resolve);\r\n return\r\n }\r\n }\r\n d.resolve()\r\n }).fail(d.resolve);\r\n d.done(function() {\r\n if (needRevertPosition) {\r\n _this3._revertItemToInitialPosition()\r\n }\r\n _this3.reset();\r\n targetDraggable.reset();\r\n _this3._stopAnimator();\r\n _this3._horizontalScrollHelper.reset();\r\n _this3._verticalScrollHelper.reset();\r\n _this3._resetDragElement();\r\n _this3._resetSourceElement();\r\n _this3._resetTargetDraggable();\r\n _this3._resetSourceDraggable()\r\n })\r\n }\r\n },\r\n _isTargetOverAnotherDraggable: function(e) {\r\n var _this4 = this;\r\n var sourceDraggable = this._getSourceDraggable();\r\n if (this === sourceDraggable) {\r\n return false\r\n }\r\n var $dragElement = sourceDraggable._$dragElement;\r\n var $sourceDraggableElement = sourceDraggable.$element();\r\n var $targetDraggableElement = this.$element();\r\n var mousePosition = getMousePosition(e);\r\n var elements = this.getElementsFromPoint(mousePosition, e.target);\r\n var firstWidgetElement = elements.filter(function(element) {\r\n var $element = (0, _renderer.default)(element);\r\n if ($element.hasClass(_this4._addWidgetPrefix())) {\r\n return !$element.closest($dragElement).length\r\n }\r\n })[0];\r\n var $sourceElement = this._getSourceElement();\r\n var isTargetOverItself = firstWidgetElement === $sourceDraggableElement.get(0);\r\n var isTargetOverNestedDraggable = (0, _renderer.default)(firstWidgetElement).closest($sourceElement).length;\r\n return !firstWidgetElement || firstWidgetElement === $targetDraggableElement.get(0) && !isTargetOverItself && !isTargetOverNestedDraggable\r\n },\r\n _dragEnterHandler: function(e) {\r\n this._fireDragEnterEvent(e);\r\n if (this._isTargetOverAnotherDraggable(e)) {\r\n this._setTargetDraggable()\r\n }\r\n var sourceDraggable = this._getSourceDraggable();\r\n sourceDraggable.dragEnter(e)\r\n },\r\n _dragLeaveHandler: function(e) {\r\n this._fireDragLeaveEvent(e);\r\n this._resetTargetDraggable();\r\n if (this !== this._getSourceDraggable()) {\r\n this.reset()\r\n }\r\n var sourceDraggable = this._getSourceDraggable();\r\n sourceDraggable.dragLeave(e)\r\n },\r\n _getAction: function(name) {\r\n return this[\"_\" + name + \"Action\"] || this._createActionByOption(name)\r\n },\r\n _getAnonymousTemplateName: function() {\r\n return ANONYMOUS_TEMPLATE_NAME\r\n },\r\n _initTemplates: function() {\r\n if (!this.option(\"contentTemplate\")) {\r\n return\r\n }\r\n this._templateManager.addDefaultTemplates({\r\n content: new _empty_template.EmptyTemplate\r\n });\r\n this.callBase.apply(this, arguments)\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this.$element().addClass(this._addWidgetPrefix());\r\n var transclude = this._templateManager.anonymousTemplateName === this.option(\"contentTemplate\");\r\n var template = this._getTemplateByOption(\"contentTemplate\");\r\n if (template) {\r\n (0, _renderer.default)(template.render({\r\n container: this.element(),\r\n transclude: transclude\r\n }))\r\n }\r\n },\r\n _optionChanged: function(args) {\r\n var name = args.name;\r\n switch (name) {\r\n case \"onDragStart\":\r\n case \"onDragMove\":\r\n case \"onDragEnd\":\r\n case \"onDrop\":\r\n case \"onDragEnter\":\r\n case \"onDragLeave\":\r\n this[\"_\" + name + \"Action\"] = this._createActionByOption(name);\r\n break;\r\n case \"dragTemplate\":\r\n case \"contentTemplate\":\r\n case \"container\":\r\n case \"clone\":\r\n break;\r\n case \"allowMoveByClick\":\r\n case \"dragDirection\":\r\n case \"disabled\":\r\n case \"boundary\":\r\n case \"filter\":\r\n case \"immediate\":\r\n this._resetDragElement();\r\n this._detachEventHandlers();\r\n this._attachEventHandlers();\r\n break;\r\n case \"autoScroll\":\r\n this._verticalScrollHelper.reset();\r\n this._horizontalScrollHelper.reset();\r\n break;\r\n case \"scrollSensitivity\":\r\n case \"scrollSpeed\":\r\n case \"boundOffset\":\r\n case \"handle\":\r\n case \"group\":\r\n case \"data\":\r\n case \"itemData\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _getTargetDraggable: function() {\r\n return targetDraggable || this\r\n },\r\n _getSourceDraggable: function() {\r\n return sourceDraggable || this\r\n },\r\n _setTargetDraggable: function() {\r\n var currentGroup = this.option(\"group\");\r\n var sourceDraggable = this._getSourceDraggable();\r\n if (currentGroup && currentGroup === sourceDraggable.option(\"group\")) {\r\n targetDraggable = this\r\n }\r\n },\r\n _setSourceDraggable: function() {\r\n sourceDraggable = this\r\n },\r\n _resetSourceDraggable: function() {\r\n sourceDraggable = null\r\n },\r\n _resetTargetDraggable: function() {\r\n targetDraggable = null\r\n },\r\n _dispose: function() {\r\n this.callBase();\r\n this._detachEventHandlers();\r\n this._resetDragElement();\r\n this._resetTargetDraggable();\r\n this._resetSourceDraggable();\r\n this._$sourceElement = null;\r\n this._stopAnimator()\r\n },\r\n _fireDragEnterEvent: function(sourceEvent) {\r\n var args = this._getEventArgs(sourceEvent);\r\n this._getAction(\"onDragEnter\")(args)\r\n },\r\n _fireDragLeaveEvent: function(sourceEvent) {\r\n var args = this._getEventArgs(sourceEvent);\r\n this._getAction(\"onDragLeave\")(args)\r\n }\r\n});\r\n(0, _component_registrator.default)(DRAGGABLE, Draggable);\r\nvar _default = Draggable;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (ui/diagram/diagram.bar.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _diagram = require(\"./diagram.importer\");\r\nvar DiagramBar = function() {\r\n function DiagramBar(owner) {\r\n var _getDiagram = (0, _diagram.getDiagram)(),\r\n EventDispatcher = _getDiagram.EventDispatcher;\r\n this.onChanged = new EventDispatcher;\r\n this._owner = owner\r\n }\r\n var _proto = DiagramBar.prototype;\r\n _proto.raiseBarCommandExecuted = function(key, parameter) {\r\n this.onChanged.raise(\"notifyBarCommandExecuted\", parseInt(key), parameter)\r\n };\r\n _proto.getCommandKeys = function() {\r\n throw \"Not Implemented\"\r\n };\r\n _proto.setItemValue = function(key, value) {};\r\n _proto.setItemEnabled = function(key, enabled) {};\r\n _proto.setItemVisible = function(key, enabled) {};\r\n _proto.setEnabled = function(enabled) {};\r\n _proto.setItemSubItems = function(key, items) {};\r\n _proto.isVisible = function() {\r\n return true\r\n };\r\n _proto._getKeys = function(items) {\r\n var _this = this;\r\n var keys = items.reduce(function(commands, item) {\r\n if (void 0 !== item.command) {\r\n commands.push(item.command)\r\n }\r\n if (item.items) {\r\n commands = commands.concat(_this._getKeys(item.items))\r\n }\r\n return commands\r\n }, []);\r\n return keys\r\n };\r\n return DiagramBar\r\n}();\r\nvar _default = DiagramBar;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/dialog.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.confirm = exports.alert = exports.custom = exports.title = exports.FakeDialogComponent = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _component = _interopRequireDefault(require(\"../core/component\"));\r\nvar _action = _interopRequireDefault(require(\"../core/action\"));\r\nvar _devices = _interopRequireDefault(require(\"../core/devices\"));\r\nvar _config = _interopRequireDefault(require(\"../core/config\"));\r\nvar _dom = require(\"../core/utils/dom\");\r\nvar _deferred = require(\"../core/utils/deferred\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _window = require(\"../core/utils/window\");\r\nvar _events_engine = _interopRequireDefault(require(\"../events/core/events_engine\"));\r\nvar _view_port = require(\"../core/utils/view_port\");\r\nvar _message = _interopRequireDefault(require(\"../localization/message\"));\r\nvar _ui = _interopRequireDefault(require(\"./widget/ui.errors\"));\r\nvar _popup = _interopRequireDefault(require(\"./popup\"));\r\nvar _common = require(\"../core/utils/common\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar window = (0, _window.getWindow)();\r\nvar DEFAULT_BUTTON = {\r\n text: \"OK\",\r\n onClick: function() {\r\n return true\r\n }\r\n};\r\nvar DX_DIALOG_CLASSNAME = \"dx-dialog\";\r\nvar DX_DIALOG_WRAPPER_CLASSNAME = \"\".concat(DX_DIALOG_CLASSNAME, \"-wrapper\");\r\nvar DX_DIALOG_ROOT_CLASSNAME = \"\".concat(DX_DIALOG_CLASSNAME, \"-root\");\r\nvar DX_DIALOG_CONTENT_CLASSNAME = \"\".concat(DX_DIALOG_CLASSNAME, \"-content\");\r\nvar DX_DIALOG_MESSAGE_CLASSNAME = \"\".concat(DX_DIALOG_CLASSNAME, \"-message\");\r\nvar DX_DIALOG_BUTTONS_CLASSNAME = \"\".concat(DX_DIALOG_CLASSNAME, \"-buttons\");\r\nvar DX_DIALOG_BUTTON_CLASSNAME = \"\".concat(DX_DIALOG_CLASSNAME, \"-button\");\r\nvar DX_BUTTON_CLASSNAME = \"dx-button\";\r\nvar FakeDialogComponent = _component.default.inherit({\r\n ctor: function(element, options) {\r\n this.callBase(options)\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: {\r\n platform: \"ios\"\r\n },\r\n options: {\r\n width: 276\r\n }\r\n }, {\r\n device: {\r\n platform: \"android\"\r\n },\r\n options: {\r\n lWidth: \"60%\",\r\n pWidth: \"80%\"\r\n }\r\n }])\r\n }\r\n});\r\nexports.FakeDialogComponent = FakeDialogComponent;\r\nvar title = \"\";\r\nexports.title = title;\r\nvar custom = function(options) {\r\n var deferred = new _deferred.Deferred;\r\n var defaultOptions = (new FakeDialogComponent).option();\r\n options = (0, _extend.extend)(defaultOptions, options);\r\n var $element = (0, _renderer.default)(\"
\").addClass(DX_DIALOG_CLASSNAME).appendTo((0, _view_port.value)());\r\n var isMessageDefined = \"message\" in options;\r\n var isMessageHtmlDefined = \"messageHtml\" in options;\r\n if (isMessageDefined) {\r\n _ui.default.log(\"W1013\")\r\n }\r\n var messageHtml = String(isMessageHtmlDefined ? options.messageHtml : options.message);\r\n var $message = (0, _renderer.default)(\"
\").addClass(DX_DIALOG_MESSAGE_CLASSNAME).html(messageHtml);\r\n var popupToolbarItems = [];\r\n (0, _iterator.each)(options.buttons || [DEFAULT_BUTTON], function() {\r\n var action = new _action.default(this.onClick, {\r\n context: popupInstance\r\n });\r\n popupToolbarItems.push({\r\n toolbar: \"bottom\",\r\n location: _devices.default.current().android ? \"after\" : \"center\",\r\n widget: \"dxButton\",\r\n options: (0, _extend.extend)({}, this, {\r\n onClick: function() {\r\n var result = action.execute.apply(action, arguments);\r\n hide(result)\r\n }\r\n })\r\n })\r\n });\r\n var popupInstance = new _popup.default($element, (0, _extend.extend)({\r\n title: options.title || title,\r\n showTitle: (0, _common.ensureDefined)(options.showTitle, true),\r\n dragEnabled: (0, _common.ensureDefined)(options.dragEnabled, true),\r\n height: \"auto\",\r\n width: function() {\r\n var isPortrait = (0, _renderer.default)(window).height() > (0, _renderer.default)(window).width();\r\n var key = (isPortrait ? \"p\" : \"l\") + \"Width\";\r\n var widthOption = Object.prototype.hasOwnProperty.call(options, key) ? options[key] : options.width;\r\n return (0, _type.isFunction)(widthOption) ? widthOption() : widthOption\r\n },\r\n showCloseButton: options.showCloseButton || false,\r\n ignoreChildEvents: false,\r\n onContentReady: function(args) {\r\n args.component.$content().addClass(DX_DIALOG_CONTENT_CLASSNAME).append($message)\r\n },\r\n onShowing: function(e) {\r\n e.component.bottomToolbar().addClass(DX_DIALOG_BUTTONS_CLASSNAME).find(\".\".concat(DX_BUTTON_CLASSNAME)).addClass(DX_DIALOG_BUTTON_CLASSNAME);\r\n (0, _dom.resetActiveElement)()\r\n },\r\n onShown: function(e) {\r\n var $firstButton = e.component.bottomToolbar().find(\".\".concat(DX_BUTTON_CLASSNAME)).first();\r\n _events_engine.default.trigger($firstButton, \"focus\")\r\n },\r\n onHiding: function() {\r\n deferred.reject()\r\n },\r\n toolbarItems: popupToolbarItems,\r\n animation: {\r\n show: {\r\n type: \"pop\",\r\n duration: 400\r\n },\r\n hide: {\r\n type: \"pop\",\r\n duration: 400,\r\n to: {\r\n opacity: 0,\r\n scale: 0\r\n },\r\n from: {\r\n opacity: 1,\r\n scale: 1\r\n }\r\n }\r\n },\r\n rtlEnabled: (0, _config.default)().rtlEnabled,\r\n boundaryOffset: {\r\n h: 10,\r\n v: 0\r\n }\r\n }, options.popupOptions));\r\n popupInstance._wrapper().addClass(DX_DIALOG_WRAPPER_CLASSNAME);\r\n if (options.position) {\r\n popupInstance.option(\"position\", options.position)\r\n }\r\n popupInstance._wrapper().addClass(DX_DIALOG_ROOT_CLASSNAME);\r\n\r\n function show() {\r\n popupInstance.show();\r\n return deferred.promise()\r\n }\r\n\r\n function hide(value) {\r\n deferred.resolve(value);\r\n popupInstance.hide().done(function() {\r\n popupInstance.$element().remove()\r\n })\r\n }\r\n return {\r\n show: show,\r\n hide: hide\r\n }\r\n};\r\nexports.custom = custom;\r\nvar alert = function(messageHtml, title, showTitle) {\r\n var options = (0, _type.isPlainObject)(messageHtml) ? messageHtml : {\r\n title: title,\r\n messageHtml: messageHtml,\r\n showTitle: showTitle,\r\n dragEnabled: showTitle\r\n };\r\n return custom(options).show()\r\n};\r\nexports.alert = alert;\r\nvar confirm = function(messageHtml, title, showTitle) {\r\n var options = (0, _type.isPlainObject)(messageHtml) ? messageHtml : {\r\n title: title,\r\n messageHtml: messageHtml,\r\n showTitle: showTitle,\r\n buttons: [{\r\n text: _message.default.format(\"Yes\"),\r\n onClick: function() {\r\n return true\r\n }\r\n }, {\r\n text: _message.default.format(\"No\"),\r\n onClick: function() {\r\n return false\r\n }\r\n }],\r\n dragEnabled: showTitle\r\n };\r\n return custom(options).show()\r\n};\r\nexports.confirm = confirm;\r\n"],"sourceRoot":""}