{"version":3,"sources":["../node_modules/devextreme/ui/drop_down_editor/ui.drop_down_list.js","../node_modules/devextreme/ui/editor/ui.data_expression.js","../node_modules/devextreme/ui/drop_down_menu.js","../node_modules/devextreme/ui/diagram/diagram.bar.js","../node_modules/devextreme/ui/drawer/ui.drawer.js","../node_modules/devextreme/ui/drawer/ui.drawer.rendering.strategy.js","../node_modules/devextreme/ui/dialog.js","../node_modules/devextreme/ui/diagram/ui.diagram.panel.js","../node_modules/devextreme/ui/diagram/ui.diagram.menu_helper.js","../node_modules/devextreme/ui/diagram/ui.diagram.floating_panel.js","../node_modules/devextreme/ui/diagram/diagram.items_option.js","../node_modules/devextreme/ui/drop_down_button.js","../node_modules/devextreme/ui/drop_down_editor/ui.drop_down_button.js","../node_modules/devextreme/ui/diagram.js","../node_modules/devextreme/ui/diagram/ui.diagram.js","../node_modules/devextreme/ui/diagram/ui.diagram.main_toolbar.js","../node_modules/devextreme/ui/diagram/ui.diagram.history_toolbar.js","../node_modules/devextreme/ui/diagram/ui.diagram.view_toolbar.js","../node_modules/devextreme/ui/diagram/ui.diagram.properties_toolbar.js","../node_modules/devextreme/ui/diagram/ui.diagram.context_menu.js","../node_modules/devextreme/ui/diagram/ui.diagram.context_toolbox.js","../node_modules/devextreme/ui/diagram/ui.diagram.dialogs.js","../node_modules/devextreme/ui/diagram/ui.diagram.scroll_view.js","../node_modules/devextreme/ui/diagram/diagram.toolbox_manager.js","../node_modules/devextreme/ui/diagram/ui.diagram.toolbox.js","../node_modules/devextreme/ui/diagram/ui.diagram.properties_panel.js","../node_modules/devextreme/ui/diagram/diagram.options_update.js","../node_modules/devextreme/ui/diagram/ui.diagram.dialog_manager.js","../node_modules/devextreme/ui/diagram/diagram.nodes_option.js","../node_modules/devextreme/ui/diagram/diagram.edges_option.js","../node_modules/devextreme/ui/drawer.js","../node_modules/devextreme/ui/drawer/ui.drawer.rendering.strategy.push.js","../node_modules/devextreme/ui/drawer/ui.drawer.rendering.strategy.shrink.js","../node_modules/devextreme/ui/drawer/ui.drawer.rendering.strategy.overlap.js","../node_modules/devextreme/ui/drop_down_box.js","../node_modules/devextreme/ui/editor/editor.js","../node_modules/devextreme/ui/diagram/diagram.importer.js","../node_modules/devextreme/ui/diagram/diagram.commands_manager.js","../node_modules/devextreme/ui/diagram/ui.diagram.toolbar.js","../node_modules/devextreme/ui/drawer/ui.drawer.animation.js","../node_modules/devextreme/ui/drop_down_editor/ui.drop_down_editor.js","../node_modules/devextreme/ui/drop_down_editor/utils.js","../node_modules/devextreme/ui/draggable.js"],"names":["exports","default","_renderer","_interopRequireDefault","require","_window","_events_engine","_guid","_component_registrator","_common","_type","_extend","_array","_ui","_list","_ui2","_index","_devices","_query","_iterator","_ui3","_message","_child_default_template","_deferred","_grouped_data_converter_mixin","obj","__esModule","_typeof","Symbol","iterator","constructor","prototype","window","getWindow","SEARCH_MODES","DropDownList","inherit","_supportedKeys","parent","this","callBase","extend","tab","e","_allowSelectItemByTab","_saveValueChangeEvent","$focusedItem","option","length","_setSelectedElement","apply","arguments","space","noop","home","end","$element","value","_valueGetter","_getItemData","_setValue","_getDefaultOptions","_dataExpressionDefaultOptions","displayValue","searchEnabled","searchMode","searchTimeout","minSearchLength","searchExpr","valueChangeEvent","selectedItem","noDataText","format","onSelectionChanged","onItemClick","showDataBeforeSearch","grouped","groupTemplate","popupPosition","my","at","offset","h","v","collision","wrapItemText","_defaultOptionsRules","concat","device","platform","options","buttonsLocation","_setOptionsByReference","_optionsByReference","_init","_initDataExpressions","_initActions","_setListDataSource","_validateSearchMode","_clearSelectedItem","_initItems","_setListFocusedElementOptionChange","_updateParentActiveDescendant","_updateActiveDescendant","bind","items","_dataSource","_initContentReadyAction","_initSelectionChangedAction","_initItemClickAction","_contentReadyAction","_createActionByOption","excludeValidators","_selectionChangedAction","_itemClickAction","_initTemplates","_templateManager","addDefaultTemplates","item","ChildDefaultTemplate","_isEditable","_saveFocusOnWidget","initialOption","_focusInput","_fitIntoRange","start","_items","_getPlainItems","filter","toArray","_calcNextItem","step","_getSelectedIndex","result","each","index","_isValueEquals","_createPopup","_updateCustomBoundaryContainer","_popup","$wrapper","addClass","_popupWrapperClass","$popupContent","$content","off","on","that","shown","hidden","removeClass","customContainer","$container","isWindow","get","$containerWithParents","slice","call","parents","unshift","i","getComputedStyle","overflowY","_$customBoundaryContainer","_renderInputValue","_getCurrentValue","_rejectValueLoading","_loadInputValue","_setSelectedItem","always","callback","_loadItem","_getItemFromPlain","cache","plainItems","itemByValue","forEach","grep","Deferred","resolve","promise","_loadValue","push","_this$_list","opened","listFocusedItemId","getFocusedItemId","isElementOnDom","activedescendant","setAria","_displayValue","ensureDefined","_displayGetter","_refreshSelected","_listItemElements","_","itemElement","$itemElement","itemValue","data","_isSelectedValue","selectItem","unselectItem","_popupShownHandler","_setFocusPolicy","normalizedSearchMode","toLowerCase","inArray","Error","_processDataSourceChanging","fail","_isCustomValueAllowed","reset","_clearFilter","_$list","find","_popupConfig","templatesRenderAsynchronously","autoResizeEnabled","maxHeight","_getMaxHeight","_renderPopupContent","_renderList","_getKeyboardListeners","canListHaveFocus","_canListHaveFocus","_setAriaTargetForList","_getAriaTarget","_listId","_value","$list","attr","appendTo","_createComponent","_listConfig","_refreshList","role","_renderPreventBlur","$target","eventName","addNamespace","preventDefault","_renderOpenedState","controls","owns","_popupContentId","_setDefaultAria","haspopup","autocomplete","_shouldRefreshDataSource","_needPassDataSourceToList","_isDesktopDevice","real","deviceType","selectionMode","_templates","templateProvider","onContentReady","_listContentReadyHandler","itemTemplate","indicateLoading","keyExpr","_getCollectionKeyExpr","displayExpr","_displayGetterExpr","_listItemClickAction","dataSource","_getDataSource","_revertPageOnEmptyLoad","hoverStateEnabled","focusStateEnabled","tabIndex","_dataSourceOptions","paginate","_getGroupedOption","_dataSourceFromUrlLoadMode","dxList","_dimensionChanged","_setListOption","optionName","_setWidgetOption","_listItemClickHandler","_isMinSearchLengthExceeded","_searchValue","toString","_needClearFilter","_canKeepDataSource","_this$_dataSource","isMinSearchLengthExceeded","isLoaded","_isLastMinSearchLengthExceeded","_input","val","_getSearchEvent","NAME","_getCompositionStartEvent","_getCompositionEndEvent","_getSetFocusPolicyEvent","_renderEvents","_this","_shouldRenderSearchEvent","_searchHandler","_isTextCompositionInProgress","_refreshEvents","_isTextComposition","searchValue","_this2","_clearSearchTimer","_searchTimer","setTimeout","_searchDataSource","_searchCanceled","_filterDataSource","searchOperation","load","done","_dataSourceFiltered","_refreshPopupVisibility","_shouldOpenPopup","_hasItemsToShow","shouldOpenPopup","_isFocused","_dataSourceChangedHandler","newItems","pageIndex","resultAmount","clearTimeout","_popupShowingHandler","_updatePopupDimensions","_needPopupRepaint","currentPageIndex","needRepaint","isDefined","_pageIndex","repaint","updateDimensions","$customBoundaryContainer","offsetTop","top","windowHeight","outerHeight","containerHeight","Math","min","max","_clean","_dispose","_setCollectionWidgetOption","_setSubmitValue","submitValue","_shouldUseDisplayValue","_getSubmitElement","isObject","_optionChanged","args","_dataExpressionOptionChanged","name","_renderValue","_invalidate","previousValue","include","_default","module","_variable_wrapper","_data","_data_helper","_data_source","_array_store","valueExpr","_compileValueGetter","_compileDisplayGetter","_initDynamicTemplates","_initDataSource","_itemsToDataSource","DataSource","store","pageSize","compileGetter","_valueGetterExpr","deferred","_unwrappedValue","_loadSingle","reject","_loadValueDeferred","_this$_loadValueDefer","shouldSkipCallback","_getItemKey","unwrap","key","Array","isArray","n","value1","value2","dataSourceKey","_compareValues","_compareByCompositeKey","_compareByKey","unwrapObservable","valueKey1","valueKey2","toComparable","_setCollectionWidgetItemTemplate","isString","isFunction","_button","_popover","_themes","POPUP_OPTION_MAP","popupWidth","popupHeight","popupMaxHeight","popupAutoResizeEnabled","BUTTON_OPTION_MAP","buttonIcon","buttonText","buttonWidth","buttonHeight","buttonTemplate","DropDownMenu","extension","hide","onButtonClick","usePopover","activeStateEnabled","selectedItemKeys","deferRendering","popupAnimation","onItemRendered","menuWidget","closeOnClick","useInkRipple","container","isSimulator","show","type","duration","from","scale","to","isMaterial","_initOptions","current","rtlEnabled","_initButtonClickAction","_buttonClickAction","content","_initMarkup","_renderButton","_render","expanded","_renderContentImpl","_renderPopup","_cleanFocusState","remove","_$popup","$button","config","_buttonOptions","_toggleActiveState","text","icon","width","height","template","onClick","_toggleMenuVisibility","state","toggle","$popup","_popupOptions","usePopup","onInitialized","component","toggleClass","visible","contentTemplate","contentElement","position","animation","onOptionChanged","target","listConfig","_listOptions","listMaxHeight","pageLoadMode","_itemAttributes","_deferRendering","_toggleVisibility","_refreshDataSource","_getTemplate","open","close","_diagram","DiagramBar","owner","EventDispatcher","getDiagram","onChanged","_owner","_proto","raiseBarCommandExecuted","parameter","raise","parseInt","getCommandKeys","setItemValue","setItemEnabled","enabled","setItemVisible","setEnabled","setItemSubItems","isVisible","_getKeys","reduce","commands","command","_element","_position","_empty_template","_uiDrawerRenderingStrategy","_uiDrawerRenderingStrategy2","_uiDrawerRenderingStrategy3","_uiDrawer","_click","_fx","_visibility_change","Drawer","minSize","maxSize","shading","openedStateMode","revealMode","animationEnabled","animationDuration","closeOnOutsideClick","_setDeprecatedOptions","_deprecatedOptions","since","message","_initStrategy","_whenAnimationCompleted","_whenPanelContentRendered","_whenPanelContentRefreshed","_$wrapper","_$viewContentWrapper","append","_strategy","_getAnonymousTemplateName","defaultTemplates","EmptyTemplate","_viewContentWrapperClickHandler","stopAnimations","_toggleOpenedStateClass","_renderPanelContentWrapper","_refreshOpenedStateModeClass","_refreshRevealModeClass","_renderShader","renderPanelContent","onPanelContentRendered","_renderViewContent","_refreshPositionClass","_refreshWrapperChildrenOrder","_initMinMaxSize","refreshPanelElementSize","isHorizontalDirection","_renderPosition","_removePanelManualPosition","_$panelContentWrapper","removeAttr","css","left","right","bottom","calcTargetPosition","indexOf","DRAWER_PANEL_CONTENT_CLASS","prevOpenedStateMode","DRAWER_CLASS","prevPosition","isViewContentFirst","prepend","prevRevealMode","contentTemplateOption","$viewTemplate","render","viewContent","noModel","transclude","anonymousTemplateName","hasClass","children","not","replaceWith","_$shader","_toggleShaderVisibility","_initSize","realPanelSize","getRealPanelWidth","getRealPanelHeight","_maxSize","_minSize","rtl","getOverlayTarget","_options","silent","getOverlay","_overlay","getMaxSize","getMinSize","hasWindow","getBoundingRect","_getPanelTemplateElement","$panelContent","getPanelContent","$result","eq","getElementHeight","$children","jumpToEnd","stop","overlay","setZIndex","zIndex","resizeContent","resizeViewContent","triggerResizeEvent","_isInvertedPosition","isDrawerOpened","disableAnimation","renderPosition","_animationCompleteHandler","_getPositionCorrection","complete","_visibilityChanged","_refreshPanel","_removePanelContentWrapper","_removeOverlay","dispose","getPublicElement","targetOpened","DrawerStrategy","drawer","_drawer","getDrawerInstance","whenPanelContentRendered","onRendered","changePositionUsingFxAnimation","whenPositionAnimationCompleted","whenShaderAnimationCompleted","when","_internalRenderPosition","renderShaderVisibility","_getPanelOffset","size","_getPanelSize","whenAnimationCompleted","isShaderVisible","fadeConfig","fade","setPanelSize","calcFromRealPanelSize","panelSize","title","custom","confirm","alert","FakeDialogComponent","_component","_action","_config","_dom","_view_port","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","ctor","element","lWidth","pWidth","defaultOptions","isMessageHtmlDefined","log","messageHtml","String","$message","html","popupToolbarItems","buttons","action","context","popupInstance","toolbar","location","android","widget","execute","showTitle","dragEnabled","widthOption","Object","hasOwnProperty","showCloseButton","ignoreChildEvents","onShowing","bottomToolbar","resetActiveElement","onShown","$firstButton","first","trigger","onHiding","toolbarItems","opacity","boundaryOffset","popupOptions","isPlainObject","_pointer","_setPrototypeOf","o","p","setPrototypeOf","__proto__","POINTERUP_EVENT_NAME","up","_Widget","subClass","superClass","DiagramPanel","create","_createOnPointerUpAction","_attachPointerUpEvent","_getPointerUpElements","closest","_onPointerUpAction","_icon","DiagramMenuHelper","getContextMenuItemTemplate","contextMenu","itemData","itemIndex","empty","itemKey","rootCommand","checked","$iconElement","getImageContainer","_menuHasCheckedItems","$checkElement","getContextMenuCssClass","onContextMenuItemClick","actionHandler","_parameter","getItemCommandParameter","getItemValue","JSON","stringify","getItemOptionText","indexPath","parentItemOptionText","_getParentItemOptionText","_originalItemsInfo","indexPathCorrection","_getItemOptionTextCore","parentIndexPath","r","getParameter","updateContextMenuItems","itemOptionText","rootCommandKey","map","originalItems","updateContextMenuItemVisible","updateContextMenuItemValue","_setContextMenuHasCheckedItems","_uiDiagram","_DiagramPanel","DiagramFloatingPanel","_createOnVisibilityChangingAction","_createOnVisibilityChangedAction","isMobileView","$parent","$popupElement","_getPopupClass","_getPopupOptions","_updatePopupVisible","_getPopupContent","_getPopupTitle","_getVerticalPaddingsAndBorders","_getHorizontalPaddingsAndBorders","outerWidth","_getPopupWidth","_getPopupMaxWidth","_getPopupMinWidth","_getPopupHeight","_getPopupMaxHeight","_getPopupMinHeight","_getPopupPosition","_getPopupContainer","_getPopupSlideAnimationObject","properties","_getPopupAnimation","maxWidth","minWidth","minHeight","_onVisibilityChangingAction","_onVisibilityChangedAction","onHidden","offsetX","offsetY","_ItemsOptionBase","ItemsOption","diagramWidget","_diagramWidget","_resetCache","_dataSourceItems","changes","internalChanges","change","internalChange","externalChanges","_reloadContentByChanges","_onDataSourceChanged","_dataSourceLoadingChangedHandler","isLoading","_showLoadingIndicator","_hideLoadingIndicator","_prepareData","dataObj","insert","errorCallback","_getStore","error","update","storeKey","_getStoreKey","_this3","findItem","_getItemByKey","getItems","hasItems","isExternalChanges","_this4","internalKey","_getInternalKey","_ensureCache","_cache","_getIndexByKey","keySet","keys","accumulator","_fillCache","_this5","_getKeyExpr","itemsExpr","_getItemsExpr","containerChildrenExpr","_getContainerChildrenExpr","keyOf","_function_template","_button_group","_utils","DropDownButton","selectedItemKey","stylingMode","useSelectMode","splitButton","showArrowIcon","dropDownOptions","dropDownContentTemplate","buttonGroupOptions","_createItemClickAction","_createActionClickAction","_createSelectionChangedAction","_compileKeyGetter","FunctionTemplate","$listContainer","registerKeyHandler","_escHandler","_getKey","_keyGetter","_renderButtonGroup","_updateArrowClass","_loadSelectedItem","_updateActionButton","_renderFocusTarget","_this$_loadSingleDefe","_loadSingleDeferred","d","_lastSelectedItemData","cachedResult","_actionClickAction","_fireSelectionChangedAction","_ref","previousItem","_fireItemClickAction","_ref2","event","_actionItem","_actionButtonConfig","elementAttr","_getButtonGroupItems","_buttonGroupItemClick","_ref3","isActionButton","class","_buttonGroupOptions","onKeyboardHandled","_keyboardHandler","_ref4","buttonContent","$firstIcon","$textContainer","$secondIcon","_getTemplateByOption","model","horizontalAlignment","is","getElementWidth","of","showItemDataTitle","_fireContentReadyAction","_buttonGroup","focus","_upDownKeyHandler","_tabHandler","_popupHidingHandler","_bindInnerWidgetOptions","_popupOptionChanged","getOptionsFromContainer","_setPopupOption","optionsKeys","getSizeValue","$buttonGroup","hasArrow","_renderContent","_getDisplayValue","_setOptionWithoutOptionChange","_selectedItemKeyChanged","_this6","_actionButtonOptionChanged","_ref5","newConfig","_selectModeChanged","_updateItemCollection","_this7","_updateDataSource","_updateKeyExpr","_this$_popup","_innerWidgetOptionChanged","fullName","_button2","_TextEditorButton","editor","currentTemplate","_attachEvents","instance","_openHandler","_create","_getOptions","_addToContainer","_legacyRender","_isVisible","disabled","_addTemplate","$editor","_isSameTemplate","_load_indicator","_number","zIndexPool","nodeInterop","_getRequireWildcardCache","has","newObj","hasPropertyDescriptor","defineProperty","getOwnPropertyDescriptor","desc","set","_interopRequireWildcard","_uiDiagram2","_uiDiagram3","_uiDiagram4","_uiDiagram5","_uiDiagram6","_uiDiagram7","_uiDiagram8","_uiDiagram9","_diagram2","_uiDiagram10","_uiDiagram11","_diagram3","_uiDiagram12","_diagram4","_diagram5","_diagram6","WeakMap","cacheBabelInterop","cacheNodeInterop","FULLSCREEN_CHANGE_EVENT_NAME","IE_FULLSCREEN_CHANGE_EVENT_NAME","WEBKIT_FULLSCREEN_CHANGE_EVENT_NAME","MOZ_FULLSCREEN_CHANGE_EVENT_NAME","Diagram","_updateDiagramLockCount","toggleFullscreenLock","_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","_diagramInstance","settings","contextMenuEnabled","_renderContextMenu","_contextToolbox","_renderContextToolbox","_renderDialog","$scrollViewWrapper","onCreateDiagram","createDocument","scrollView","_setCustomCommandChecked","SHOW_PROPERTIES_PANEL_COMMAND_NAME","_isPropertiesPanelVisible","SHOW_TOOLBOX_COMMAND_NAME","_isToolboxVisible","_processDiagramResize","_bindDiagramData","onDimensionChanged","isMobileScreenSize","_captureFocus","captureFocus","_captureFocusOnTimeout","_captureFocusTimeout","_killCaptureFocusTimeout","notifyBarCommandExecuted","_registerToolbar","_registerBar","bar","add","registerBar","_getExcludeCommands","excludeCommands","_getToolbarBaseOptions","onSubMenuVisibilityChanging","updateBarItemsState","onPointerUp","_onPanelPointerUp","onInternalCommand","_onInternalCommand","onCustomCommand","_onCustomCommand","_customCommandAction","$toolbarWrapper","skipAdjustSize","isReadOnlyMode","locateInMenu","_updateHistoryToolbarPosition","setup","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","_getViewToolbarYOffset","_updateViewToolbarPosition","buttonStylingMode","buttonType","_updatePropertiesToolbarPosition","_this8","$propertiesPanel","propertyTabs","onCreateToolbar","editorStylingMode","_updatePropertiesPanelGroupBars","onSelectedGroupChanged","_this9","getActiveToolbars","_this10","$contextMenu","DiagramContextMenuWrapper","_onBeforeCommandExecuted","_this11","$contextToolbox","$toolboxContainer","isTextGroup","group","g","createContextToolbox","shapeType","tb","setCommandChecked","dialogParameters","getDialogParameters","_showDialog","$dialogElement","_dialogInstance","onGetContent","getCommand","_show","_loadingIndicator","DiagramControl","_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","self","_updateFullscreenState","optionsUpdateBar","initMeasurer","_updateCustomShapes","_getCustomShapes","_refreshDataSources","cleanMarkup","_executeDiagramCommand","getNodeDataSource","_nodesOption","getDataSource","getEdgeDataSource","_edgesOption","_beginUpdateDiagram","_refreshNodesDataSource","_refreshEdgesDataSource","_endUpdateDiagram","_disposeDataSource","_getDiagramData","DiagramCommand","Export","_setDiagramData","keepExistingItems","Import","_getChangesKeys","_createOptionGetter","expr","_onRequestUpdateLayout","_requestLayoutUpdateAction","_createRequestLayoutUpdateAction","eventArgs","allowed","_createOptionSetter","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","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","getGroups","_updateAllCustomShapes","removeAllCustomShapes","customShapes","prevCustomShapes","_this13","removeCustomShapes","s","addCustomShapes","templateOption","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","_nativeItemToDiagramItem","createToolboxTemplate","destroyTemplate","templateLeft","templateTop","templateWidth","templateHeight","keepRatioOnAutoSize","_getViewport","$viewPort","fullScreen","_changeNativeFullscreen","_prevParent","_prevFullScreenZIndex","_fullScreenZIndex","setModeOn","_inNativeFullscreen","_subscribeFullscreenNativeChanged","_unsubscribeFullscreenNativeChanged","_setNativeFullscreen","document","body","requestFullscreen","mozRequestFullscreen","webkitRequestFullscreen","msRequestFullscreen","exitFullscreen","mozCancelFullscreen","webkitExitFullscreen","msExitFullscreen","fullscreenElement","msFullscreenElement","webkitFullscreenElement","webkitIsFullscreen","handler","_onNativeFullscreenChangeHandler","_executeDiagramFullscreenCommand","fullscreen","Fullscreen","isTouchMode","selection","_isTouchMode","_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","formatUnit","ViewUnits","Units","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","removeEventListener","setInitialStyleProperties","setInitialTextStyleProperties","setInitialConnectorProperties","lineOption","startLineEnding","endLineEnding","applyShapeSizeSettings","shapeMinWidth","shapeMaxWidth","shapeMinHeight","shapeMaxHeight","applyOperationSettings","addShape","addShapeFromToolbox","deleteShape","deleteConnector","changeConnection","changeConnectorPoints","changeShapeText","changeConnectorText","resizeShape","moveShape","export","exportTo","_getDiagramExportToCommand","ExportPng","ExportJpg","ExportSvg","import","updateExistingItemsOnly","updateToolbox","refreshToolbox","simpleView","autoZoomMode","showGrid","snapToGrid","units","viewUnits","pageOrientation","pageColor","hasChanges","nodes","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","contextToolbox","propertiesPanel","defaultItemProperties","connectorLineType","connectorLineStart","connectorLineEnd","editing","allowAddShape","allowDeleteShape","allowDeleteConnector","allowChangeConnection","allowChangeConnectorPoints","allowChangeShapeText","allowChangeConnectorText","allowResizeShape","allowMoveShape","fileName","proxyUrl","onItemDblClick","onRequestEditOperation","onRequestLayoutUpdate","_initialized","_toolboxDragHidden","_propertiesPanelTextInputHidden","_toolboxTextInputHidden","_createItemDblClickAction","_itemDblClickAction","_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","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","_invalidateMainToolbarCommands","_invalidateHistoryToolbarCommands","_invalidateViewToolbarCommands","_invalidateToolboxGroups","isUpdateLocked","beginUpdate","_optionChangedCore","endUpdate","_this14","_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","showEvent","_onItemClick","_inOnShowing","widthCorrection","Browser","TouchUI","navigator","maxTouchPoints","processed","_onItemClickAction","_executeCommand","_onInternalCommandAction","_onCustomCommandAction","getContextMenuCommands","commandIndexPath","_setItemEnabled","_setItemVisible","_setItemValue","_setItemSubItems","_setEnabled","_ContextMenu","_renderContextMenuOverlay","_DiagramBar","_proto3","DiagramContextToolbox","_onShownAction","_popoverPositionData","_$popoverTargetElement","$popoverElement","popoverClass","_popoverInstance","targetDiv","offsetLeft","getBoundingClientRect","scrollX","scrollY","DiagramDialog","_command","_isShown","_createOnGetContentOption","_createOnHiddenOption","_$popupElement","_onHiddenAction","_getToolbarItems","_getOkToolbarItem","_getCancelToolbarItem","_commandParameter","_onGetContentAction","_scroll_view","DiagramScrollView","onScroll","_createOnCreateDiagramAction","_scrollView","direction","bounceEnabled","scrollOffset","_raiseOnScroll","_onCreateDiagramAction","setScroll","scrollTo","_raiseOnScrollWithoutPoint","offsetScroll","scrollBy","getSize","Size","floor","getScrollContainer","getScrollBarWidth","detachEvents","Point","scrollLeft","scrollTop","getDefaultGroups","_groups","general","flowchart","orgChart","containers","groups","defaultGroups","_text_box","_accordion","_tooltip","_DiagramFloatingPanel","DiagramToolbox","_toolboxes","_filterText","_createOnShapeCategoryRenderedAction","_createOnFilterChangedAction","panelHeight","$inputContainer","_updateElementWidth","_renderSearchInput","_searchInput","$panel","_renderScrollView","$input","placeholder","onValueChanged","_onInputChanged","$accordion","_renderAccordion","_getAccordionDataSource","groupObj","onTemplate","$toolboxElement","_onShapeCategoryRenderedAction","_onFilterChangedAction","_createTooltips","targets","$tooltip","hideEvent","delay","multiple","collapsible","_updateScrollAnimateSubscription","collapseItem","expandItem","_deferredAnimate","$tooltipContainer","_tab_panel","DiagramPropertiesPanel","_commandTabs","getPropertyPanelCommandTabs","_createOnCreateToolbar","_createOnSelectedGroupChanged","_selectedToolbar","className","_hasTabPanel","_renderTabPanel","_renderTabContent","$tabPanel","_tabPanel","_onSelectedGroupChangedAction","_firstScrollView","_scrollViewHeight","isSingleTab","_renderTabInnerContent","sg","si","_renderTabGroupContent","_onCreateToolbarAction","DiagramOptionsUpdateBar","commandOptions","_getOption","_setOption","_updateLock","_file_uploader","getConfigurations","dialogList","InsertShapeImage","getChangeImageDialogContent","EditShapeImage","$uploader","selectButtonText","accept","uploadMode","reader","FileReader","onload","readAsDataURL","commandIndex","c","_ItemsOption","NodesOption","EdgesOption","_uiDrawerRendering","_translator","_DrawerStrategy","PushStrategy","openedPanelSize","contentPosition","paddingCssPropertyName","moveTo","move","_inflector","ShrinkStrategy","panelOffset","margin","camelize","isRtl","OverlapStrategy","_initialPosition","_drawer$option","_getOverlayPosition","onPositioned","_fixOverlayPosition","_processOverlayZIndex","propagateOutsideClick","$overlayContent","panelPosition","_updateViewContentStyles","$panelOverlayContent","targetPanelPosition","marginTop","style","_selectors","_short","_dom_adapter","getActiveElement","realDevice","DropDownBox","$tabbableElements","_getTabbableElements","$focusableElement","shiftKey","last","_getElements","tabbable","acceptCustomValue","openOnFieldClick","displayValueFormatter","join","useHiddenSubmitElement","values","currentValue","itemLoadDeferreds","_popupElementTabHandler","normalizeKeyName","$firstTabbable","$lastTabbable","originalEvent","moveBackward","shift","moveForward","keyboard","templateData","_fieldRenderData","_canShowVirtualKeyboard","mac","_isNestedElementActive","activeElement","contains","_shouldCloseOnTargetScroll","_popupHiddenHandler","_popupPosition","_popupPositionedHandler","_getDefaultPopupPosition","isRtlEnabled","_this$callBase","closeOnTargetScroll","opts","_this$_popupPosition","popupLocation","getElementMaxHeightByWindow","$firstElement","_element_data","_callbacks","_validation_engine","_validation_message","VALIDATION_MESSAGE_KEYS_MAP","validationMessageMode","validationMessageOffset","validationBoundary","showValidationMessageTimeout","validationRequest","_createElement","initValidationOptions","isValid","validationError","validationErrors","validationStatus","validationTooltipOptions","_attachKeyboardEvents","_createValueChangeAction","_valueChangeAction","_suppressValueChangeAction","_valueChangeActionSuppressed","_resumeValueChangeAction","_this$option","_toggleReadOnlyState","_setSubmitElementName","_renderValidationState","_raiseValueChangeAction","_valueChangeArgs","_valueChangeEventInstance","_focusInHandler","isValidationMessageShownOnFocus","_canValueBeChangedByClick","_this$_validationMess","$validationMessageWrapper","_validationMessage","_getValidationErrors","_disposeValidationMessage","_$validationMessage","_toggleValidationClasses","isInvalid","_this$option2","_getValidationMessageTarget","mode","positionRequest","boundary","describedElement","_focusTarget","_toggleBackspaceHandler","isReadOnly","$eventTarget","_keyboardEventBindingTarget","$submitElement","_setValidationMessageOption","_this$_validationMess2","optionKey","_this$_validationMess3","_refreshFocusState","fire","updateMaxWidth","synchronizeValidationOptions","_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","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","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","_onItemInitialized","_onItemContentReady","_createSelectBoxItemOptions","_createTextBoxItemOptions","_createColorBoxItemOptions","_createTextEditorItemOptions","every","fieldTemplate","dxTextBox","_toggleContextMenu","onOpened","onClosed","cm","_addItemHelper","DiagramToolbarItemHelper","$menuContainer","_dropDownButtonElement","_showingSubMenu","_onSubMenuVisibilityChangingAction","_onContextMenuInitialized","onDisposing","_onContextMenuDisposing","getButton","rootWidget","_addContextMenuHelper","helper","subItem","itemIndexPath","DiagramToolbarSubItemHelper","splice","_updateLocked","valueConverter","canUpdate","setValue","setCommandEnabled","_proto2","_widget","showingSubMenu","_updateEditorValue","_updateButtonValue","_updateContextMenuItemValue","_updateContextMenuItems","_updateEditorItems","_DiagramToolbarItemHe","_indexPath","_rootCommandKey","_rootWidget","_proto4","_getItemOptionText","rootEnabled","_hasEnabledCommandItems","some","animationType","toConfig","transform","animate","completeAction","_position2","isIOs","DropDownEditor","_getLastPopupElement","_getFirstPopupElement","escape","upArrow","isCommandKeyPressed","stopPropagation","altKey","downArrow","_validatedOpening","enter","_valueChangeEventHandler","_getDefaultButtons","Ctor","applyValueMode","dropDownButtonTemplate","showDropDownButton","onPopupInitialized","applyButtonText","cancelButtonText","_useTemplates","getDefaultAlignment","_device","_inputWrapper","_initVisibilityActions","_initPopupInitializedAction","_updatePopupPosition","_this$_getDefaultPopu","currentPosition","_openAction","_closeAction","_popupInitializedAction","_renderSubmitElement","_renderOpenHandler","_attachFocusOutHandler","_renderInput","_wrapInput","_$container","wrapInner","_readOnlyPropValue","_detachFocusEvents","_getFieldTemplate","_renderMask","_renderField","_renderTemplatedField","_renderPlaceholder","isFocused","focused","_detachKeyboardEvents","_refreshButtonsContainer","_detachWrapperContent","$templateWrapper","_integrateInput","_attachWrapperContent","_this$_$submitElement","_this$_$beforeButtons","_this$_$afterButtonsC","_$submitElement","detach","beforeButtonsContainerParent","_$beforeButtonsContainer","parentNode","afterButtonsContainerParent","_$afterButtonsContainer","removeChild","_this$_$submitElement2","_$buttonsContainer","_renderFocusState","_refreshValueChangeEvent","_refreshEmptinessEvent","_toggleEmptinessEventHandler","_renderEmptinessEvent","dropDownButton","$icon","$inputWrapper","_getInputClickHandler","_openOnFieldClickAction","_createAction","_detachFocusOutEvents","newTarget","relatedTarget","popupWrapper","_executeOpenAction","_toggleOpenState","_resetCaretPosition","ignoreEditable","inputElement","caretPosition","_caret","popupConfig","showing","hiding","contentReady","_contentReadyHandler","_setPopupContentId","_popupInitializedHandler","_closeOutsideDropDownHandler","_getPopupToolbarItems","popup","flip","_getValidationMessagePositionRequest","myTop","popupTop","$dropDownButton","isInputClicked","isDropDownButtonClicked","_popupToolbarItemsConfig","currentTarget","_popupElementEscHandler","_popupButtonInitializedHandler","buttonsConfig","shortcut","_applyButtonHandler","_cancelButtonHandler","_applyButtonsLocation","resultConfig","splitPair","showPopupTitle","alias","_updateButtons","field","_string","_animator","_browser","_dom_component","_drag","targetDraggable","sourceDraggable","DRAGGABLE","DRAGSTART_EVENT_NAME","DRAG_EVENT_NAME","DRAGEND_EVENT_NAME","DRAG_ENTER_EVENT_NAME","DRAGEND_LEAVE_EVENT_NAME","leave","POINTERDOWN_EVENT_NAME","down","getMousePosition","pageX","pageY","ScrollHelper","_preventScroll","_scrollValue","_overFlowAttr","_sizeAttr","_scrollSizeProp","_clientSizeProp","_limitProps","updateScrollable","elements","mousePosition","isScrollableFound","isTargetOverOverlayWrapper","isTargetOverOverlayContent","_trySetScrollable","_$scrollableAtPointer","_scrollSpeed","isScrolling","isScrollable","prop","distanceToBorders","sensitivity","_calculateDistanceToBorders","_calculateScrollSpeed","$area","areaBoundingRect","area","distance","maxSpeed","ceil","pow","scrollByStep","$scrollable","scrollableInstance","nextScrollPosition","enumerable","configurable","writable","_nextScrollPosition","dragMoveArgs","_dragMoveArgs","_dragMoveHandler","isOutsideScrollable","scrollableSize","ScrollAnimator","strategy","_step","horizontalScrollHelper","_horizontalScrollHelper","verticalScrollHelper","_verticalScrollHelper","Draggable","dragMove","dragEnter","dragLeave","dragEnd","sourceEvent","_getSourceDraggable","_fireRemoveEvent","onDragStart","onDragMove","onDragEnd","onDragEnter","onDragLeave","onDrop","immediate","dragDirection","boundOffset","allowMoveByClick","dragTemplate","handle","clone","autoScroll","scrollSpeed","scrollSensitivity","_attachEventHandlers","_scrollAnimator","_normalizeCursorOffset","parseFloat","_getNormalizedCursorOffset","_calculateElementOffset","elementOffset","dragElementOffset","$dragElement","dragElement","isCloned","_dragElementIsCloned","cursorOffset","normalizedCursorOffset","currentLocate","_initialLocate","locate","initialOffset","isFinite","_initPosition","_move","_startPosition","_startAnimator","inProgress","_stopAnimator","_addWidgetPrefix","componentName","dasherize","_getItemsSelector","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","needSkipEvent","_getAction","_getEventArgs","_isValidElement","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","_defaultActionArgs","fromComponent","toComponent","fromData","toData","_revertItemToInitialPosition","dragEndEventArgs","dropEventArgs","needRevertPosition","fromPromise","_resetTargetDraggable","_resetSourceDraggable","_isTargetOverAnotherDraggable","$sourceDraggableElement","$targetDraggableElement","firstWidgetElement","isTargetOverItself","isTargetOverNestedDraggable","_fireDragEnterEvent","_setTargetDraggable","_fireDragLeaveEvent","currentGroup"],"mappings":"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","file":"static/js/main~5c940db9.27d9a309.chunk.js","sourcesContent":["/**\r\n * DevExtreme (ui/drop_down_editor/ui.drop_down_list.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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 _guid = _interopRequireDefault(require(\"../../core/guid\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _array = require(\"../../core/utils/array\");\r\nvar _ui = _interopRequireDefault(require(\"./ui.drop_down_editor\"));\r\nvar _list = _interopRequireDefault(require(\"../list\"));\r\nvar _ui2 = _interopRequireDefault(require(\"../widget/ui.errors\"));\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _query = _interopRequireDefault(require(\"../../data/query\"));\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _ui3 = _interopRequireDefault(require(\"../editor/ui.data_expression\"));\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _child_default_template = require(\"../../core/templates/child_default_template\");\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _grouped_data_converter_mixin = _interopRequireDefault(require(\"../shared/grouped_data_converter_mixin\"));\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 return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nvar window = (0, _window.getWindow)();\r\nvar LIST_ITEM_SELECTOR = \".dx-list-item\";\r\nvar LIST_ITEM_DATA_KEY = \"dxListItemData\";\r\nvar DROPDOWNLIST_POPUP_WRAPPER_CLASS = \"dx-dropdownlist-popup-wrapper\";\r\nvar SKIP_GESTURE_EVENT_CLASS = \"dx-skip-gesture-event\";\r\nvar SEARCH_EVENT = \"input\";\r\nvar SEARCH_MODES = [\"startswith\", \"contains\", \"endwith\", \"notcontains\"];\r\nvar DropDownList = _ui.default.inherit({\r\n _supportedKeys: function() {\r\n var parent = this.callBase();\r\n return (0, _extend.extend)({}, parent, {\r\n tab: function(e) {\r\n if (this._allowSelectItemByTab()) {\r\n this._saveValueChangeEvent(e);\r\n var $focusedItem = (0, _renderer.default)(this._list.option(\"focusedElement\"));\r\n $focusedItem.length && this._setSelectedElement($focusedItem)\r\n }\r\n parent.tab.apply(this, arguments)\r\n },\r\n space: _common.noop,\r\n home: _common.noop,\r\n end: _common.noop\r\n })\r\n },\r\n _allowSelectItemByTab: function() {\r\n return this.option(\"opened\") && \"instantly\" === this.option(\"applyValueMode\")\r\n },\r\n _setSelectedElement: function($element) {\r\n var value = this._valueGetter(this._list._getItemData($element));\r\n this._setValue(value)\r\n },\r\n _setValue: function(value) {\r\n this.option(\"value\", value)\r\n },\r\n _getDefaultOptions: function() {\r\n return (0, _extend.extend)(this.callBase(), (0, _extend.extend)(_ui3.default._dataExpressionDefaultOptions(), {\r\n displayValue: void 0,\r\n searchEnabled: false,\r\n searchMode: \"contains\",\r\n searchTimeout: 500,\r\n minSearchLength: 0,\r\n searchExpr: null,\r\n valueChangeEvent: \"input change keyup\",\r\n selectedItem: null,\r\n noDataText: _message.default.format(\"dxCollectionWidget-noDataText\"),\r\n onSelectionChanged: null,\r\n onItemClick: _common.noop,\r\n showDataBeforeSearch: false,\r\n grouped: false,\r\n groupTemplate: \"group\",\r\n popupPosition: {\r\n my: \"left top\",\r\n at: \"left bottom\",\r\n offset: {\r\n h: 0,\r\n v: 0\r\n },\r\n collision: \"flip\"\r\n },\r\n wrapItemText: false\r\n }))\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 popupPosition: {\r\n offset: {\r\n v: -1\r\n }\r\n }\r\n }\r\n }, {\r\n device: {\r\n platform: \"generic\"\r\n },\r\n options: {\r\n buttonsLocation: \"bottom center\"\r\n }\r\n }])\r\n },\r\n _setOptionsByReference: function() {\r\n this.callBase();\r\n (0, _extend.extend)(this._optionsByReference, {\r\n value: true,\r\n selectedItem: true,\r\n displayValue: true\r\n })\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initDataExpressions();\r\n this._initActions();\r\n this._setListDataSource();\r\n this._validateSearchMode();\r\n this._clearSelectedItem();\r\n this._initItems()\r\n },\r\n _setListFocusedElementOptionChange: function() {\r\n this._list._updateParentActiveDescendant = this._updateActiveDescendant.bind(this)\r\n },\r\n _initItems: function() {\r\n var items = this.option().items;\r\n if (items && !items.length && this._dataSource) {\r\n this.option().items = this._dataSource.items()\r\n }\r\n },\r\n _initActions: function() {\r\n this._initContentReadyAction();\r\n this._initSelectionChangedAction();\r\n this._initItemClickAction()\r\n },\r\n _initContentReadyAction: function() {\r\n this._contentReadyAction = this._createActionByOption(\"onContentReady\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _initSelectionChangedAction: function() {\r\n this._selectionChangedAction = this._createActionByOption(\"onSelectionChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _initItemClickAction: function() {\r\n this._itemClickAction = this._createActionByOption(\"onItemClick\")\r\n },\r\n _initTemplates: function() {\r\n this.callBase();\r\n this._templateManager.addDefaultTemplates({\r\n item: new _child_default_template.ChildDefaultTemplate(\"item\")\r\n })\r\n },\r\n _isEditable: function() {\r\n return this.callBase() || this.option(\"searchEnabled\")\r\n },\r\n _saveFocusOnWidget: function(e) {\r\n if (this._list && this._list.initialOption(\"focusStateEnabled\")) {\r\n this._focusInput()\r\n }\r\n },\r\n _fitIntoRange: function(value, start, end) {\r\n if (value > end) {\r\n return start\r\n }\r\n if (value < start) {\r\n return end\r\n }\r\n return value\r\n },\r\n _items: function() {\r\n var items = this._getPlainItems(!this._list && this._dataSource.items());\r\n var availableItems = new _query.default(items).filter(\"disabled\", \"<>\", true).toArray();\r\n return availableItems\r\n },\r\n _calcNextItem: function(step) {\r\n var items = this._items();\r\n var nextIndex = this._fitIntoRange(this._getSelectedIndex() + step, 0, items.length - 1);\r\n return items[nextIndex]\r\n },\r\n _getSelectedIndex: function() {\r\n var items = this._items();\r\n var selectedItem = this.option(\"selectedItem\");\r\n var result = -1;\r\n (0, _iterator.each)(items, function(index, item) {\r\n if (this._isValueEquals(item, selectedItem)) {\r\n result = index;\r\n return false\r\n }\r\n }.bind(this));\r\n return result\r\n },\r\n _createPopup: function() {\r\n this.callBase();\r\n this._updateCustomBoundaryContainer();\r\n this._popup.$wrapper().addClass(this._popupWrapperClass());\r\n var $popupContent = this._popup.$content();\r\n _events_engine.default.off($popupContent, \"mouseup\");\r\n _events_engine.default.on($popupContent, \"mouseup\", this._saveFocusOnWidget.bind(this));\r\n var that = this;\r\n this._popup.on({\r\n shown: function() {\r\n that.$element().addClass(SKIP_GESTURE_EVENT_CLASS)\r\n },\r\n hidden: function() {\r\n that.$element().removeClass(SKIP_GESTURE_EVENT_CLASS)\r\n }\r\n })\r\n },\r\n _updateCustomBoundaryContainer: function() {\r\n var customContainer = this.option(\"dropDownOptions.container\");\r\n var $container = customContainer && (0, _renderer.default)(customContainer);\r\n if ($container && $container.length && !(0, _type.isWindow)($container.get(0))) {\r\n var $containerWithParents = [].slice.call($container.parents());\r\n $containerWithParents.unshift($container.get(0));\r\n (0, _iterator.each)($containerWithParents, function(i, parent) {\r\n if (parent === (0, _renderer.default)(\"body\").get(0)) {\r\n return false\r\n } else {\r\n if (\"hidden\" === window.getComputedStyle(parent).overflowY) {\r\n this._$customBoundaryContainer = (0, _renderer.default)(parent);\r\n return false\r\n }\r\n }\r\n }.bind(this))\r\n }\r\n },\r\n _popupWrapperClass: function() {\r\n return DROPDOWNLIST_POPUP_WRAPPER_CLASS\r\n },\r\n _renderInputValue: function() {\r\n var value = this._getCurrentValue();\r\n this._rejectValueLoading();\r\n return this._loadInputValue(value, this._setSelectedItem.bind(this)).always(this.callBase.bind(this, value))\r\n },\r\n _loadInputValue: function(value, callback) {\r\n return this._loadItem(value).always(callback)\r\n },\r\n _getItemFromPlain: function(value, cache) {\r\n var plainItems;\r\n var selectedItem;\r\n if (cache && \"object\" !== _typeof(value)) {\r\n if (!cache.itemByValue) {\r\n cache.itemByValue = {};\r\n plainItems = this._getPlainItems();\r\n plainItems.forEach(function(item) {\r\n cache.itemByValue[this._valueGetter(item)] = item\r\n }, this)\r\n }\r\n selectedItem = cache.itemByValue[value]\r\n }\r\n if (!selectedItem) {\r\n plainItems = this._getPlainItems();\r\n selectedItem = (0, _common.grep)(plainItems, function(item) {\r\n return this._isValueEquals(this._valueGetter(item), value)\r\n }.bind(this))[0]\r\n }\r\n return selectedItem\r\n },\r\n _loadItem: function(value, cache) {\r\n var selectedItem = this._getItemFromPlain(value, cache);\r\n return void 0 !== selectedItem ? (new _deferred.Deferred).resolve(selectedItem).promise() : this._loadValue(value)\r\n },\r\n _getPlainItems: function(items) {\r\n var plainItems = [];\r\n items = items || this.option(\"items\") || this._dataSource.items() || [];\r\n for (var i = 0; i < items.length; i++) {\r\n if (items[i] && items[i].items) {\r\n plainItems = plainItems.concat(items[i].items)\r\n } else {\r\n plainItems.push(items[i])\r\n }\r\n }\r\n return plainItems\r\n },\r\n _updateActiveDescendant: function() {\r\n var _this$_list;\r\n var opened = this.option(\"opened\");\r\n var listFocusedItemId = null === (_this$_list = this._list) || void 0 === _this$_list ? void 0 : _this$_list.getFocusedItemId();\r\n var isElementOnDom = (0, _renderer.default)(\"#\".concat(listFocusedItemId)).length > 0;\r\n var activedescendant = opened && isElementOnDom && listFocusedItemId;\r\n this.setAria({\r\n activedescendant: activedescendant || null\r\n })\r\n },\r\n _setSelectedItem: function(item) {\r\n var displayValue = this._displayValue(item);\r\n this.option(\"selectedItem\", (0, _common.ensureDefined)(item, null));\r\n this.option(\"displayValue\", displayValue)\r\n },\r\n _displayValue: function(item) {\r\n return this._displayGetter(item)\r\n },\r\n _refreshSelected: function() {\r\n var cache = {};\r\n this._listItemElements().each(function(_, itemElement) {\r\n var $itemElement = (0, _renderer.default)(itemElement);\r\n var itemValue = this._valueGetter($itemElement.data(LIST_ITEM_DATA_KEY));\r\n var isItemSelected = this._isSelectedValue(itemValue, cache);\r\n if (isItemSelected) {\r\n this._list.selectItem($itemElement)\r\n } else {\r\n this._list.unselectItem($itemElement)\r\n }\r\n }.bind(this))\r\n },\r\n _popupShownHandler: function() {\r\n this.callBase();\r\n this._setFocusPolicy()\r\n },\r\n _setFocusPolicy: function() {\r\n if (!this.option(\"focusStateEnabled\") || !this._list) {\r\n return\r\n }\r\n this._list.option(\"focusedElement\", null)\r\n },\r\n _isSelectedValue: function(value) {\r\n return this._isValueEquals(value, this.option(\"value\"))\r\n },\r\n _validateSearchMode: function() {\r\n var searchMode = this.option(\"searchMode\");\r\n var normalizedSearchMode = searchMode.toLowerCase();\r\n if ((0, _array.inArray)(normalizedSearchMode, SEARCH_MODES) < 0) {\r\n throw _ui2.default.Error(\"E1019\", searchMode)\r\n }\r\n },\r\n _clearSelectedItem: function() {\r\n this.option(\"selectedItem\", null)\r\n },\r\n _processDataSourceChanging: function() {\r\n this._setListDataSource();\r\n this._renderInputValue().fail(function() {\r\n if (this._isCustomValueAllowed()) {\r\n return\r\n }\r\n this._clearSelectedItem()\r\n }.bind(this))\r\n },\r\n _isCustomValueAllowed: function() {\r\n return this.option(\"displayCustomValue\")\r\n },\r\n reset: function() {\r\n this.callBase();\r\n this._clearFilter();\r\n this._clearSelectedItem()\r\n },\r\n _listItemElements: function() {\r\n return this._$list ? this._$list.find(LIST_ITEM_SELECTOR) : (0, _renderer.default)()\r\n },\r\n _popupConfig: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n templatesRenderAsynchronously: false,\r\n autoResizeEnabled: false,\r\n maxHeight: this._getMaxHeight.bind(this)\r\n })\r\n },\r\n _renderPopupContent: function() {\r\n this.callBase();\r\n this._renderList()\r\n },\r\n _getKeyboardListeners: function() {\r\n var canListHaveFocus = this._canListHaveFocus();\r\n return this.callBase().concat([!canListHaveFocus && this._list])\r\n },\r\n _setAriaTargetForList: function() {\r\n this._list._getAriaTarget = this._getAriaTarget.bind(this)\r\n },\r\n _renderList: function() {\r\n this._listId = \"dx-\" + (new _guid.default)._value;\r\n var $list = this._$list = (0, _renderer.default)(\"
\").attr(\"id\", this._listId).appendTo(this._popup.$content());\r\n this._list = this._createComponent($list, _list.default, this._listConfig());\r\n this._refreshList();\r\n this._setAriaTargetForList();\r\n this._list.option(\"_listAttributes\", {\r\n role: \"combobox\"\r\n });\r\n this._renderPreventBlur(this._$list);\r\n this._setListFocusedElementOptionChange()\r\n },\r\n _renderPreventBlur: function($target) {\r\n var eventName = (0, _index.addNamespace)(\"mousedown\", \"dxDropDownList\");\r\n _events_engine.default.off($target, eventName);\r\n _events_engine.default.on($target, eventName, function(e) {\r\n e.preventDefault()\r\n }.bind(this))\r\n },\r\n _renderOpenedState: function() {\r\n this.callBase();\r\n this._list && this._updateActiveDescendant();\r\n this.setAria({\r\n controls: this._list && this._listId,\r\n owns: this._popup && this._popupContentId\r\n })\r\n },\r\n _setDefaultAria: function() {\r\n this.setAria({\r\n haspopup: \"listbox\",\r\n autocomplete: \"list\"\r\n })\r\n },\r\n _refreshList: function() {\r\n if (this._list && this._shouldRefreshDataSource()) {\r\n this._setListDataSource()\r\n }\r\n },\r\n _shouldRefreshDataSource: function() {\r\n var dataSourceProvided = !!this._list.option(\"dataSource\");\r\n return dataSourceProvided !== this._needPassDataSourceToList()\r\n },\r\n _isDesktopDevice: function() {\r\n return \"desktop\" === _devices.default.real().deviceType\r\n },\r\n _listConfig: function() {\r\n var options = {\r\n selectionMode: \"single\",\r\n _templates: this.option(\"_templates\"),\r\n templateProvider: this.option(\"templateProvider\"),\r\n noDataText: this.option(\"noDataText\"),\r\n grouped: this.option(\"grouped\"),\r\n wrapItemText: this.option(\"wrapItemText\"),\r\n onContentReady: this._listContentReadyHandler.bind(this),\r\n itemTemplate: this.option(\"itemTemplate\"),\r\n indicateLoading: false,\r\n keyExpr: this._getCollectionKeyExpr(),\r\n displayExpr: this._displayGetterExpr(),\r\n groupTemplate: this.option(\"groupTemplate\"),\r\n onItemClick: this._listItemClickAction.bind(this),\r\n dataSource: this._getDataSource(),\r\n _revertPageOnEmptyLoad: true,\r\n hoverStateEnabled: this._isDesktopDevice() ? this.option(\"hoverStateEnabled\") : false,\r\n focusStateEnabled: this._isDesktopDevice() ? this.option(\"focusStateEnabled\") : false\r\n };\r\n if (!this._canListHaveFocus()) {\r\n options.tabIndex = null\r\n }\r\n return options\r\n },\r\n _canListHaveFocus: function() {\r\n return false\r\n },\r\n _getDataSource: function() {\r\n return this._needPassDataSourceToList() ? this._dataSource : null\r\n },\r\n _dataSourceOptions: function() {\r\n return {\r\n paginate: false\r\n }\r\n },\r\n _getGroupedOption: function() {\r\n return this.option(\"grouped\")\r\n },\r\n _dataSourceFromUrlLoadMode: function() {\r\n return \"raw\"\r\n },\r\n _listContentReadyHandler: function() {\r\n this._list = this._list || this._$list.dxList(\"instance\");\r\n if (!this.option(\"deferRendering\")) {\r\n this._refreshSelected()\r\n }\r\n this._dimensionChanged();\r\n this._contentReadyAction()\r\n },\r\n _setListOption: function(optionName, value) {\r\n this._setWidgetOption(\"_list\", arguments)\r\n },\r\n _listItemClickAction: function(e) {\r\n this._listItemClickHandler(e);\r\n this._itemClickAction(e)\r\n },\r\n _listItemClickHandler: _common.noop,\r\n _setListDataSource: function() {\r\n if (!this._list) {\r\n return\r\n }\r\n this._setListOption(\"dataSource\", this._getDataSource());\r\n if (!this._needPassDataSourceToList()) {\r\n this._setListOption(\"items\", [])\r\n }\r\n },\r\n _needPassDataSourceToList: function() {\r\n return this.option(\"showDataBeforeSearch\") || this._isMinSearchLengthExceeded()\r\n },\r\n _isMinSearchLengthExceeded: function() {\r\n return this._searchValue().toString().length >= this.option(\"minSearchLength\")\r\n },\r\n _needClearFilter: function() {\r\n return this._canKeepDataSource() ? false : this._needPassDataSourceToList()\r\n },\r\n _canKeepDataSource: function() {\r\n var _this$_dataSource;\r\n var isMinSearchLengthExceeded = this._isMinSearchLengthExceeded();\r\n return (null === (_this$_dataSource = this._dataSource) || void 0 === _this$_dataSource ? void 0 : _this$_dataSource.isLoaded()) && this.option(\"showDataBeforeSearch\") && this.option(\"minSearchLength\") && !isMinSearchLengthExceeded && !this._isLastMinSearchLengthExceeded\r\n },\r\n _searchValue: function() {\r\n return this._input().val() || \"\"\r\n },\r\n _getSearchEvent: function() {\r\n return (0, _index.addNamespace)(SEARCH_EVENT, this.NAME + \"Search\")\r\n },\r\n _getCompositionStartEvent: function() {\r\n return (0, _index.addNamespace)(\"compositionstart\", this.NAME + \"CompositionStart\")\r\n },\r\n _getCompositionEndEvent: function() {\r\n return (0, _index.addNamespace)(\"compositionend\", this.NAME + \"CompositionEnd\")\r\n },\r\n _getSetFocusPolicyEvent: function() {\r\n return (0, _index.addNamespace)(\"input\", this.NAME + \"FocusPolicy\")\r\n },\r\n _renderEvents: function() {\r\n var _this = this;\r\n this.callBase();\r\n _events_engine.default.on(this._input(), this._getSetFocusPolicyEvent(), function() {\r\n _this._setFocusPolicy()\r\n });\r\n if (this._shouldRenderSearchEvent()) {\r\n _events_engine.default.on(this._input(), this._getSearchEvent(), function(e) {\r\n _this._searchHandler(e)\r\n });\r\n _events_engine.default.on(this._input(), this._getCompositionStartEvent(), function() {\r\n _this._isTextCompositionInProgress(true)\r\n });\r\n _events_engine.default.on(this._input(), this._getCompositionEndEvent(), function(e) {\r\n _this._isTextCompositionInProgress(void 0);\r\n _this._searchHandler(e, _this._searchValue())\r\n })\r\n }\r\n },\r\n _shouldRenderSearchEvent: function() {\r\n return this.option(\"searchEnabled\")\r\n },\r\n _refreshEvents: function() {\r\n _events_engine.default.off(this._input(), this._getSearchEvent());\r\n _events_engine.default.off(this._input(), this._getSetFocusPolicyEvent());\r\n _events_engine.default.off(this._input(), this._getCompositionStartEvent());\r\n _events_engine.default.off(this._input(), this._getCompositionEndEvent());\r\n this.callBase()\r\n },\r\n _isTextCompositionInProgress: function(value) {\r\n if (arguments.length) {\r\n this._isTextComposition = value\r\n } else {\r\n return this._isTextComposition\r\n }\r\n },\r\n _searchHandler: function(e, searchValue) {\r\n var _this2 = this;\r\n if (this._isTextCompositionInProgress()) {\r\n return\r\n }\r\n if (!this._isMinSearchLengthExceeded()) {\r\n this._searchCanceled();\r\n return\r\n }\r\n var searchTimeout = this.option(\"searchTimeout\");\r\n if (searchTimeout) {\r\n this._clearSearchTimer();\r\n this._searchTimer = setTimeout(function() {\r\n _this2._searchDataSource(searchValue)\r\n }, searchTimeout)\r\n } else {\r\n this._searchDataSource(searchValue)\r\n }\r\n },\r\n _searchCanceled: function() {\r\n this._clearSearchTimer();\r\n if (this._needClearFilter()) {\r\n this._filterDataSource(null)\r\n }\r\n this._refreshList()\r\n },\r\n _searchDataSource: function() {\r\n var searchValue = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._searchValue();\r\n this._filterDataSource(searchValue)\r\n },\r\n _filterDataSource: function(searchValue) {\r\n this._clearSearchTimer();\r\n var dataSource = this._dataSource;\r\n if (dataSource) {\r\n dataSource.searchExpr(this.option(\"searchExpr\") || this._displayGetterExpr());\r\n dataSource.searchOperation(this.option(\"searchMode\"));\r\n dataSource.searchValue(searchValue);\r\n dataSource.load().done(this._dataSourceFiltered.bind(this, searchValue))\r\n }\r\n },\r\n _clearFilter: function() {\r\n var dataSource = this._dataSource;\r\n dataSource && dataSource.searchValue() && dataSource.searchValue(null)\r\n },\r\n _dataSourceFiltered: function() {\r\n this._isLastMinSearchLengthExceeded = this._isMinSearchLengthExceeded();\r\n this._refreshList();\r\n this._refreshPopupVisibility()\r\n },\r\n _shouldOpenPopup: function() {\r\n return this._hasItemsToShow()\r\n },\r\n _refreshPopupVisibility: function() {\r\n if (this.option(\"readOnly\") || !this._searchValue()) {\r\n return\r\n }\r\n var shouldOpenPopup = this._shouldOpenPopup();\r\n if (shouldOpenPopup && !this._isFocused()) {\r\n return\r\n }\r\n this.option(\"opened\", shouldOpenPopup);\r\n if (shouldOpenPopup) {\r\n this._dimensionChanged()\r\n }\r\n },\r\n _dataSourceChangedHandler: function(newItems) {\r\n if (0 === this._dataSource.pageIndex()) {\r\n this.option().items = newItems\r\n } else {\r\n this.option().items = this.option().items.concat(newItems)\r\n }\r\n },\r\n _hasItemsToShow: function() {\r\n var resultItems = this._dataSource && this._dataSource.items() || [];\r\n var resultAmount = resultItems.length;\r\n var isMinSearchLengthExceeded = this._needPassDataSourceToList();\r\n return !!(isMinSearchLengthExceeded && resultAmount)\r\n },\r\n _clearSearchTimer: function() {\r\n clearTimeout(this._searchTimer);\r\n delete this._searchTimer\r\n },\r\n _popupShowingHandler: function() {\r\n this._dimensionChanged()\r\n },\r\n _dimensionChanged: function() {\r\n this.callBase(arguments);\r\n this._popup && this._updatePopupDimensions()\r\n },\r\n _needPopupRepaint: function() {\r\n if (!this._dataSource) {\r\n return false\r\n }\r\n var currentPageIndex = this._dataSource.pageIndex();\r\n var needRepaint = (0, _type.isDefined)(this._pageIndex) && currentPageIndex <= this._pageIndex;\r\n this._pageIndex = currentPageIndex;\r\n return needRepaint\r\n },\r\n _updatePopupDimensions: function() {\r\n if (this._needPopupRepaint()) {\r\n this._popup.repaint()\r\n }\r\n this._list && this._list.updateDimensions()\r\n },\r\n _getMaxHeight: function() {\r\n var $element = this.$element();\r\n var $customBoundaryContainer = this._$customBoundaryContainer;\r\n var offsetTop = $element.offset().top - ($customBoundaryContainer ? $customBoundaryContainer.offset().top : 0);\r\n var windowHeight = (0, _renderer.default)(window).outerHeight();\r\n var containerHeight = $customBoundaryContainer ? Math.min($customBoundaryContainer.outerHeight(), windowHeight) : windowHeight;\r\n var maxHeight = Math.max(offsetTop, containerHeight - offsetTop - $element.outerHeight());\r\n return Math.min(.5 * containerHeight, maxHeight)\r\n },\r\n _clean: function() {\r\n if (this._list) {\r\n delete this._list\r\n }\r\n delete this._isLastMinSearchLengthExceeded;\r\n this.callBase()\r\n },\r\n _dispose: function() {\r\n this._clearSearchTimer();\r\n this.callBase()\r\n },\r\n _setCollectionWidgetOption: function() {\r\n this._setListOption.apply(this, arguments)\r\n },\r\n _setSubmitValue: function() {\r\n var value = this.option(\"value\");\r\n var submitValue = this._shouldUseDisplayValue(value) ? this._displayGetter(value) : value;\r\n this._getSubmitElement().val(submitValue)\r\n },\r\n _shouldUseDisplayValue: function(value) {\r\n return \"this\" === this.option(\"valueExpr\") && (0, _type.isObject)(value)\r\n },\r\n _optionChanged: function(args) {\r\n this._dataExpressionOptionChanged(args);\r\n switch (args.name) {\r\n case \"hoverStateEnabled\":\r\n case \"focusStateEnabled\":\r\n this._isDesktopDevice() && this._setListOption(args.name, args.value);\r\n this.callBase(args);\r\n break;\r\n case \"items\":\r\n if (!this.option(\"dataSource\")) {\r\n this._processDataSourceChanging()\r\n }\r\n break;\r\n case \"dataSource\":\r\n this._processDataSourceChanging();\r\n break;\r\n case \"valueExpr\":\r\n this._renderValue();\r\n this._setListOption(\"keyExpr\", this._getCollectionKeyExpr());\r\n break;\r\n case \"displayExpr\":\r\n this._renderValue();\r\n this._setListOption(\"displayExpr\", this._displayGetterExpr());\r\n break;\r\n case \"searchMode\":\r\n this._validateSearchMode();\r\n break;\r\n case \"minSearchLength\":\r\n this._refreshList();\r\n break;\r\n case \"searchEnabled\":\r\n case \"showDataBeforeSearch\":\r\n case \"searchExpr\":\r\n this._invalidate();\r\n break;\r\n case \"onContentReady\":\r\n this._initContentReadyAction();\r\n break;\r\n case \"onSelectionChanged\":\r\n this._initSelectionChangedAction();\r\n break;\r\n case \"onItemClick\":\r\n this._initItemClickAction();\r\n break;\r\n case \"grouped\":\r\n case \"groupTemplate\":\r\n case \"wrapItemText\":\r\n case \"noDataText\":\r\n this._setListOption(args.name);\r\n break;\r\n case \"displayValue\":\r\n this.option(\"text\", args.value);\r\n break;\r\n case \"itemTemplate\":\r\n case \"searchTimeout\":\r\n break;\r\n case \"selectedItem\":\r\n if (args.previousValue !== args.value) {\r\n this._selectionChangedAction({\r\n selectedItem: args.value\r\n })\r\n }\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n}).include(_ui3.default, _grouped_data_converter_mixin.default);\r\n(0, _component_registrator.default)(\"dxDropDownList\", DropDownList);\r\nvar _default = DropDownList;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/editor/ui.data_expression.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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 _variable_wrapper = _interopRequireDefault(require(\"../../core/utils/variable_wrapper\"));\r\nvar _data = require(\"../../core/utils/data\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _data_helper = _interopRequireDefault(require(\"../../data_helper\"));\r\nvar _data_source = require(\"../../data/data_source/data_source\");\r\nvar _array_store = _interopRequireDefault(require(\"../../data/array_store\"));\r\nvar _deferred = require(\"../../core/utils/deferred\");\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 return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nvar DataExpressionMixin = (0, _extend.extend)({}, _data_helper.default, {\r\n _dataExpressionDefaultOptions: function() {\r\n return {\r\n items: [],\r\n dataSource: null,\r\n itemTemplate: \"item\",\r\n value: null,\r\n valueExpr: \"this\",\r\n displayExpr: void 0\r\n }\r\n },\r\n _initDataExpressions: function() {\r\n this._compileValueGetter();\r\n this._compileDisplayGetter();\r\n this._initDynamicTemplates();\r\n this._initDataSource();\r\n this._itemsToDataSource()\r\n },\r\n _itemsToDataSource: function() {\r\n if (!this.option(\"dataSource\")) {\r\n this._dataSource = new _data_source.DataSource({\r\n store: new _array_store.default(this.option(\"items\")),\r\n pageSize: 0\r\n })\r\n }\r\n },\r\n _compileDisplayGetter: function() {\r\n this._displayGetter = (0, _data.compileGetter)(this._displayGetterExpr())\r\n },\r\n _displayGetterExpr: function() {\r\n return this.option(\"displayExpr\")\r\n },\r\n _compileValueGetter: function() {\r\n this._valueGetter = (0, _data.compileGetter)(this._valueGetterExpr())\r\n },\r\n _valueGetterExpr: function() {\r\n return this.option(\"valueExpr\") || \"this\"\r\n },\r\n _loadValue: function(value) {\r\n var deferred = new _deferred.Deferred;\r\n value = this._unwrappedValue(value);\r\n if (!(0, _type.isDefined)(value)) {\r\n return deferred.reject().promise()\r\n }\r\n this._loadSingle(this._valueGetterExpr(), value).done(function(item) {\r\n this._isValueEquals(this._valueGetter(item), value) ? deferred.resolve(item) : deferred.reject()\r\n }.bind(this)).fail(function() {\r\n deferred.reject()\r\n });\r\n this._loadValueDeferred = deferred;\r\n return deferred.promise()\r\n },\r\n _rejectValueLoading: function() {\r\n var _this$_loadValueDefer;\r\n null === (_this$_loadValueDefer = this._loadValueDeferred) || void 0 === _this$_loadValueDefer ? void 0 : _this$_loadValueDefer.reject({\r\n shouldSkipCallback: true\r\n })\r\n },\r\n _getCurrentValue: function() {\r\n return this.option(\"value\")\r\n },\r\n _unwrappedValue: function(value) {\r\n var _value;\r\n value = null !== (_value = value) && void 0 !== _value ? _value : this._getCurrentValue();\r\n if (value && this._dataSource && \"this\" === this._valueGetterExpr()) {\r\n value = this._getItemKey(value)\r\n }\r\n return _variable_wrapper.default.unwrap(value)\r\n },\r\n _getItemKey: function(value) {\r\n var key = this._dataSource.key();\r\n if (Array.isArray(key)) {\r\n var result = {};\r\n for (var i = 0, n = key.length; i < n; i++) {\r\n result[key[i]] = value[key[i]]\r\n }\r\n return result\r\n }\r\n if (key && \"object\" === _typeof(value)) {\r\n value = value[key]\r\n }\r\n return value\r\n },\r\n _isValueEquals: function(value1, value2) {\r\n var dataSourceKey = this._dataSource && this._dataSource.key();\r\n var result = this._compareValues(value1, value2);\r\n if (!result && dataSourceKey && (0, _type.isDefined)(value1) && (0, _type.isDefined)(value2)) {\r\n if (Array.isArray(dataSourceKey)) {\r\n result = this._compareByCompositeKey(value1, value2, dataSourceKey)\r\n } else {\r\n result = this._compareByKey(value1, value2, dataSourceKey)\r\n }\r\n }\r\n return result\r\n },\r\n _compareByCompositeKey: function(value1, value2, key) {\r\n var isObject = _type.isObject;\r\n if (!isObject(value1) || !isObject(value2)) {\r\n return false\r\n }\r\n for (var i = 0, n = key.length; i < n; i++) {\r\n if (value1[key[i]] !== value2[key[i]]) {\r\n return false\r\n }\r\n }\r\n return true\r\n },\r\n _compareByKey: function(value1, value2, key) {\r\n var unwrapObservable = _variable_wrapper.default.unwrap;\r\n var valueKey1 = (0, _common.ensureDefined)(unwrapObservable(value1[key]), value1);\r\n var valueKey2 = (0, _common.ensureDefined)(unwrapObservable(value2[key]), value2);\r\n return this._compareValues(valueKey1, valueKey2)\r\n },\r\n _compareValues: function(value1, value2) {\r\n return (0, _data.toComparable)(value1, true) === (0, _data.toComparable)(value2, true)\r\n },\r\n _initDynamicTemplates: _common.noop,\r\n _setCollectionWidgetItemTemplate: function() {\r\n this._initDynamicTemplates();\r\n this._setCollectionWidgetOption(\"itemTemplate\", this.option(\"itemTemplate\"))\r\n },\r\n _getCollectionKeyExpr: function() {\r\n var valueExpr = this.option(\"valueExpr\");\r\n var isValueExprField = (0, _type.isString)(valueExpr) && \"this\" !== valueExpr || (0, _type.isFunction)(valueExpr);\r\n return isValueExprField ? valueExpr : null\r\n },\r\n _dataExpressionOptionChanged: function(args) {\r\n switch (args.name) {\r\n case \"items\":\r\n this._itemsToDataSource();\r\n this._setCollectionWidgetOption(\"items\");\r\n break;\r\n case \"dataSource\":\r\n this._initDataSource();\r\n break;\r\n case \"itemTemplate\":\r\n this._setCollectionWidgetItemTemplate();\r\n break;\r\n case \"valueExpr\":\r\n this._compileValueGetter();\r\n break;\r\n case \"displayExpr\":\r\n this._compileDisplayGetter();\r\n this._initDynamicTemplates();\r\n this._setCollectionWidgetOption(\"displayExpr\")\r\n }\r\n }\r\n});\r\nvar _default = DataExpressionMixin;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/drop_down_menu.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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 _devices = _interopRequireDefault(require(\"../core/devices\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _ui = _interopRequireDefault(require(\"./widget/ui.widget\"));\r\nvar _button = _interopRequireDefault(require(\"./button\"));\r\nvar _popover = _interopRequireDefault(require(\"./popover\"));\r\nvar _data_helper = _interopRequireDefault(require(\"../data_helper\"));\r\nvar _list = _interopRequireDefault(require(\"./list\"));\r\nvar _themes = require(\"./themes\");\r\nvar _child_default_template = require(\"../core/templates/child_default_template\");\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 DROP_DOWN_MENU_CLASS = \"dx-dropdownmenu\";\r\nvar DROP_DOWN_MENU_POPUP_CLASS = \"dx-dropdownmenu-popup\";\r\nvar DROP_DOWN_MENU_POPUP_WRAPPER_CLASS = \"dx-dropdownmenu-popup-wrapper\";\r\nvar DROP_DOWN_MENU_LIST_CLASS = \"dx-dropdownmenu-list\";\r\nvar DROP_DOWN_MENU_BUTTON_CLASS = \"dx-dropdownmenu-button\";\r\nvar POPUP_OPTION_MAP = {\r\n popupWidth: \"width\",\r\n popupHeight: \"height\",\r\n popupMaxHeight: \"maxHeight\",\r\n popupAutoResizeEnabled: \"autoResizeEnabled\"\r\n};\r\nvar BUTTON_OPTION_MAP = {\r\n buttonIcon: \"icon\",\r\n buttonText: \"text\",\r\n buttonWidth: \"width\",\r\n buttonHeight: \"height\",\r\n buttonTemplate: \"template\"\r\n};\r\nvar DropDownMenu = _ui.default.inherit({\r\n _supportedKeys: function() {\r\n var extension = {};\r\n if (!this.option(\"opened\") || !this._list.option(\"focusedElement\")) {\r\n extension = this._button._supportedKeys()\r\n }\r\n return (0, _extend.extend)(this.callBase(), extension, {\r\n tab: function() {\r\n this._popup && this._popup.hide()\r\n }\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n items: [],\r\n onItemClick: null,\r\n dataSource: null,\r\n itemTemplate: \"item\",\r\n buttonText: \"\",\r\n buttonIcon: \"overflow\",\r\n buttonWidth: void 0,\r\n buttonHeight: void 0,\r\n buttonTemplate: \"content\",\r\n onButtonClick: null,\r\n usePopover: false,\r\n popupWidth: \"auto\",\r\n popupHeight: \"auto\",\r\n activeStateEnabled: true,\r\n hoverStateEnabled: true,\r\n opened: false,\r\n selectionMode: \"none\",\r\n selectedItemKeys: [],\r\n deferRendering: false,\r\n popupPosition: {\r\n my: \"top center\",\r\n at: \"bottom center\",\r\n collision: \"fit flip\",\r\n offset: {\r\n v: 1\r\n }\r\n },\r\n popupAnimation: void 0,\r\n onItemRendered: null,\r\n menuWidget: _list.default,\r\n popupMaxHeight: void 0,\r\n closeOnClick: true,\r\n useInkRipple: false,\r\n container: void 0,\r\n popupAutoResizeEnabled: false\r\n })\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 usePopover: true\r\n }\r\n }, {\r\n device: {\r\n platform: \"generic\"\r\n },\r\n options: {\r\n popupPosition: {\r\n offset: {\r\n v: 4\r\n }\r\n }\r\n }\r\n }, {\r\n device: function() {\r\n return \"desktop\" === _devices.default.real().deviceType && !_devices.default.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }, {\r\n device: {\r\n platform: \"android\"\r\n },\r\n options: {\r\n popupPosition: {\r\n my: \"top \" + (this.option(\"rtlEnabled\") ? \"left\" : \"right\"),\r\n at: \"top \" + (this.option(\"rtlEnabled\") ? \"left\" : \"right\"),\r\n collision: \"flipfit\"\r\n },\r\n popupAnimation: {\r\n show: {\r\n type: \"pop\",\r\n duration: 200,\r\n from: {\r\n scale: 0\r\n },\r\n to: {\r\n scale: 1\r\n }\r\n },\r\n hide: {\r\n type: \"pop\",\r\n duration: 200,\r\n from: {\r\n scale: 1\r\n },\r\n to: {\r\n scale: 0\r\n }\r\n }\r\n }\r\n }\r\n }, {\r\n device: function() {\r\n return (0, _themes.isMaterial)()\r\n },\r\n options: {\r\n useInkRipple: true\r\n }\r\n }])\r\n },\r\n _initOptions: function(options) {\r\n if (\"android\" === _devices.default.current().platform) {\r\n if (!options.popupPosition) {\r\n options.popupPosition = {\r\n at: (options.usePopover ? \"bottom \" : \"top \") + (options.rtlEnabled ? \"left\" : \"right\")\r\n }\r\n }\r\n }\r\n this.callBase(options)\r\n },\r\n _dataSourceOptions: function() {\r\n return {\r\n paginate: false\r\n }\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this.$element().addClass(DROP_DOWN_MENU_CLASS);\r\n this._initDataSource();\r\n this._initItemClickAction();\r\n this._initButtonClickAction()\r\n },\r\n _initItemClickAction: function() {\r\n this._itemClickAction = this._createActionByOption(\"onItemClick\")\r\n },\r\n _initButtonClickAction: function() {\r\n this._buttonClickAction = this._createActionByOption(\"onButtonClick\")\r\n },\r\n _initTemplates: function() {\r\n this._templateManager.addDefaultTemplates({\r\n content: new _child_default_template.ChildDefaultTemplate(\"content\")\r\n });\r\n this.callBase()\r\n },\r\n _initMarkup: function() {\r\n this._renderButton();\r\n this.callBase()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this.setAria({\r\n role: \"menubar\",\r\n haspopup: true,\r\n expanded: this.option(\"opened\")\r\n })\r\n },\r\n _renderContentImpl: function() {\r\n if (this.option(\"opened\")) {\r\n this._renderPopup()\r\n }\r\n },\r\n _clean: function() {\r\n this._cleanFocusState();\r\n if (this._popup) {\r\n this._popup.$element().remove();\r\n delete this._$popup\r\n }\r\n },\r\n _renderButton: function() {\r\n var $button = this.$element().addClass(DROP_DOWN_MENU_BUTTON_CLASS);\r\n var config = this._buttonOptions();\r\n this._button = this._createComponent($button, _button.default, config)\r\n },\r\n _toggleActiveState: function($element, value, e) {\r\n this._button._toggleActiveState($element, value, e)\r\n },\r\n _buttonOptions: function() {\r\n return {\r\n text: this.option(\"buttonText\"),\r\n icon: this.option(\"buttonIcon\"),\r\n width: this.option(\"buttonWidth\"),\r\n height: this.option(\"buttonHeight\"),\r\n useInkRipple: this.option(\"useInkRipple\"),\r\n template: this.option(\"buttonTemplate\"),\r\n focusStateEnabled: false,\r\n onClick: function(e) {\r\n this.option(\"opened\", !this.option(\"opened\"));\r\n this._buttonClickAction(e)\r\n }.bind(this)\r\n }\r\n },\r\n _toggleMenuVisibility: function(opened) {\r\n var state = void 0 === opened ? !this._popup.option(\"visible\") : opened;\r\n if (opened) {\r\n this._renderPopup()\r\n }\r\n this._popup.toggle(state);\r\n this.setAria(\"expanded\", state)\r\n },\r\n _renderPopup: function() {\r\n if (this._$popup) {\r\n return\r\n }\r\n var $popup = this._$popup = (0, _renderer.default)(\"
\").appendTo(this.$element());\r\n var config = this._popupOptions();\r\n this._popup = this._createComponent($popup, _popover.default, config)\r\n },\r\n _popupOptions: function() {\r\n var usePopup = !this.option(\"usePopover\");\r\n return {\r\n onInitialized: function(args) {\r\n args.component.$wrapper().addClass(DROP_DOWN_MENU_POPUP_WRAPPER_CLASS).toggleClass(DROP_DOWN_MENU_POPUP_CLASS, usePopup)\r\n },\r\n visible: this.option(\"opened\"),\r\n deferRendering: false,\r\n contentTemplate: function(contentElement) {\r\n this._renderList(contentElement)\r\n }.bind(this),\r\n position: this.option(\"popupPosition\"),\r\n animation: this.option(\"popupAnimation\"),\r\n onOptionChanged: function(args) {\r\n if (\"visible\" === args.name) {\r\n this.option(\"opened\", args.value)\r\n }\r\n }.bind(this),\r\n target: this.$element(),\r\n height: this.option(\"popupHeight\"),\r\n width: this.option(\"popupWidth\"),\r\n maxHeight: this.option(\"popupMaxHeight\"),\r\n container: this.option(\"container\"),\r\n autoResizeEnabled: this.option(\"popupAutoResizeEnabled\")\r\n }\r\n },\r\n _renderList: function(contentElement) {\r\n var $content = (0, _renderer.default)(contentElement);\r\n var listConfig = this._listOptions();\r\n $content.addClass(DROP_DOWN_MENU_LIST_CLASS);\r\n this._list = this._createComponent($content, this.option(\"menuWidget\"), listConfig);\r\n this._list._getAriaTarget = function() {\r\n return this.$element()\r\n }.bind(this);\r\n this._setListDataSource();\r\n var listMaxHeight = .5 * (0, _renderer.default)(window).height();\r\n if ($content.height() > listMaxHeight) {\r\n $content.height(listMaxHeight)\r\n }\r\n },\r\n _listOptions: function() {\r\n return {\r\n pageLoadMode: \"scrollBottom\",\r\n indicateLoading: false,\r\n noDataText: \"\",\r\n selectionMode: this.option(\"selectionMode\"),\r\n selectedItemKeys: this.option(\"selectedItemKeys\"),\r\n itemTemplate: this.option(\"itemTemplate\"),\r\n onItemClick: function(e) {\r\n if (this.option(\"closeOnClick\")) {\r\n this.option(\"opened\", false)\r\n }\r\n this._itemClickAction(e)\r\n }.bind(this),\r\n tabIndex: -1,\r\n focusStateEnabled: this.option(\"focusStateEnabled\"),\r\n activeStateEnabled: this.option(\"activeStateEnabled\"),\r\n onItemRendered: this.option(\"onItemRendered\"),\r\n _itemAttributes: {\r\n role: \"menuitem\"\r\n }\r\n }\r\n },\r\n _setListDataSource: function() {\r\n if (this._list) {\r\n this._list.option(\"dataSource\", this._dataSource || this.option(\"items\"))\r\n }\r\n delete this._deferRendering\r\n },\r\n _getKeyboardListeners: function() {\r\n return this.callBase().concat([this._list])\r\n },\r\n _toggleVisibility: function(visible) {\r\n this.callBase(visible);\r\n this._button.option(\"visible\", visible)\r\n },\r\n _optionChanged: function(args) {\r\n var name = args.name;\r\n var value = args.value;\r\n switch (name) {\r\n case \"items\":\r\n case \"dataSource\":\r\n if (this.option(\"deferRendering\") && !this.option(\"opened\")) {\r\n this._deferRendering = true\r\n } else {\r\n this._refreshDataSource();\r\n this._setListDataSource()\r\n }\r\n break;\r\n case \"itemTemplate\":\r\n if (this._list) {\r\n this._list.option(name, this._getTemplate(value))\r\n }\r\n break;\r\n case \"onItemClick\":\r\n this._initItemClickAction();\r\n break;\r\n case \"onButtonClick\":\r\n this._buttonClickAction();\r\n break;\r\n case \"buttonIcon\":\r\n case \"buttonText\":\r\n case \"buttonWidth\":\r\n case \"buttonHeight\":\r\n case \"buttonTemplate\":\r\n this._button.option(BUTTON_OPTION_MAP[name], value);\r\n this._renderPopup();\r\n break;\r\n case \"popupWidth\":\r\n case \"popupHeight\":\r\n case \"popupMaxHeight\":\r\n case \"popupAutoResizeEnabled\":\r\n this._popup.option(POPUP_OPTION_MAP[name], value);\r\n break;\r\n case \"usePopover\":\r\n case \"menuWidget\":\r\n case \"useInkRipple\":\r\n this._invalidate();\r\n break;\r\n case \"focusStateEnabled\":\r\n case \"activeStateEnabled\":\r\n if (this._list) {\r\n this._list.option(name, value)\r\n }\r\n this.callBase(args);\r\n break;\r\n case \"selectionMode\":\r\n case \"selectedItemKeys\":\r\n case \"onItemRendered\":\r\n if (this._list) {\r\n this._list.option(name, value)\r\n }\r\n break;\r\n case \"opened\":\r\n if (this._deferRendering) {\r\n this._refreshDataSource();\r\n this._setListDataSource()\r\n }\r\n this._toggleMenuVisibility(value);\r\n break;\r\n case \"deferRendering\":\r\n case \"popupPosition\":\r\n case \"closeOnClick\":\r\n break;\r\n case \"container\":\r\n this._popup && this._popup.option(args.name, args.value);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n open: function() {\r\n this.option(\"opened\", true)\r\n },\r\n close: function() {\r\n this.option(\"opened\", false)\r\n }\r\n}).include(_data_helper.default);\r\n(0, _component_registrator.default)(\"dxDropDownMenu\", DropDownMenu);\r\nvar _default = DropDownMenu;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/diagram/diagram.bar.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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/drawer/ui.drawer.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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 _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _element = require(\"../../core/element\");\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _position = require(\"../../core/utils/position\");\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _empty_template = require(\"../../core/templates/empty_template\");\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _uiDrawerRenderingStrategy = _interopRequireDefault(require(\"./ui.drawer.rendering.strategy.push\"));\r\nvar _uiDrawerRenderingStrategy2 = _interopRequireDefault(require(\"./ui.drawer.rendering.strategy.shrink\"));\r\nvar _uiDrawerRenderingStrategy3 = _interopRequireDefault(require(\"./ui.drawer.rendering.strategy.overlap\"));\r\nvar _uiDrawer = require(\"./ui.drawer.animation\");\r\nvar _click = require(\"../../events/click\");\r\nvar _fx = _interopRequireDefault(require(\"../../animation/fx\"));\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _visibility_change = require(\"../../events/visibility_change\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar DRAWER_CLASS = \"dx-drawer\";\r\nvar DRAWER_WRAPPER_CLASS = \"dx-drawer-wrapper\";\r\nvar DRAWER_PANEL_CONTENT_CLASS = \"dx-drawer-panel-content\";\r\nvar DRAWER_VIEW_CONTENT_CLASS = \"dx-drawer-content\";\r\nvar DRAWER_SHADER_CLASS = \"dx-drawer-shader\";\r\nvar INVISIBLE_STATE_CLASS = \"dx-state-invisible\";\r\nvar OPENED_STATE_CLASS = \"dx-drawer-opened\";\r\nvar ANONYMOUS_TEMPLATE_NAME = \"content\";\r\nvar PANEL_TEMPLATE_NAME = \"panel\";\r\nvar Drawer = _ui.default.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n position: \"left\",\r\n opened: false,\r\n minSize: null,\r\n maxSize: null,\r\n shading: false,\r\n template: PANEL_TEMPLATE_NAME,\r\n openedStateMode: \"shrink\",\r\n revealMode: \"slide\",\r\n animationEnabled: true,\r\n animationDuration: 400,\r\n closeOnOutsideClick: false,\r\n contentTemplate: ANONYMOUS_TEMPLATE_NAME,\r\n target: void 0\r\n })\r\n },\r\n _setDeprecatedOptions: function() {\r\n this.callBase();\r\n (0, _extend.extend)(this._deprecatedOptions, {\r\n target: {\r\n since: \"20.1\",\r\n message: \"Functionality associated with this option is not intended for the Drawer widget.\"\r\n }\r\n })\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initStrategy();\r\n this.$element().addClass(DRAWER_CLASS);\r\n this._whenAnimationCompleted = void 0;\r\n this._whenPanelContentRendered = void 0;\r\n this._whenPanelContentRefreshed = void 0;\r\n this._$wrapper = (0, _renderer.default)(\"
\").addClass(DRAWER_WRAPPER_CLASS);\r\n this._$viewContentWrapper = (0, _renderer.default)(\"
\").addClass(DRAWER_VIEW_CONTENT_CLASS);\r\n this._$wrapper.append(this._$viewContentWrapper);\r\n this.$element().append(this._$wrapper)\r\n },\r\n _initStrategy: function() {\r\n switch (this.option(\"openedStateMode\")) {\r\n case \"push\":\r\n this._strategy = new _uiDrawerRenderingStrategy.default(this);\r\n break;\r\n case \"shrink\":\r\n this._strategy = new _uiDrawerRenderingStrategy2.default(this);\r\n break;\r\n case \"overlap\":\r\n this._strategy = new _uiDrawerRenderingStrategy3.default(this);\r\n break;\r\n default:\r\n this._strategy = new _uiDrawerRenderingStrategy.default(this)\r\n }\r\n },\r\n _getAnonymousTemplateName: function() {\r\n return ANONYMOUS_TEMPLATE_NAME\r\n },\r\n _initTemplates: function() {\r\n var defaultTemplates = {};\r\n defaultTemplates[PANEL_TEMPLATE_NAME] = new _empty_template.EmptyTemplate;\r\n defaultTemplates[ANONYMOUS_TEMPLATE_NAME] = new _empty_template.EmptyTemplate;\r\n this._templateManager.addDefaultTemplates(defaultTemplates);\r\n this.callBase()\r\n },\r\n _viewContentWrapperClickHandler: function(e) {\r\n var closeOnOutsideClick = this.option(\"closeOnOutsideClick\");\r\n if ((0, _type.isFunction)(closeOnOutsideClick)) {\r\n closeOnOutsideClick = closeOnOutsideClick(e)\r\n }\r\n if (closeOnOutsideClick && this.option(\"opened\")) {\r\n this.stopAnimations();\r\n if (this.option(\"shading\")) {\r\n e.preventDefault()\r\n }\r\n this.hide()\r\n }\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this._toggleOpenedStateClass(this.option(\"opened\"));\r\n this._renderPanelContentWrapper();\r\n this._refreshOpenedStateModeClass();\r\n this._refreshRevealModeClass();\r\n this._renderShader();\r\n this._whenPanelContentRendered = new _deferred.Deferred;\r\n this._strategy.renderPanelContent(this._whenPanelContentRendered);\r\n this._strategy.onPanelContentRendered();\r\n this._renderViewContent();\r\n _events_engine.default.off(this._$viewContentWrapper, _click.name);\r\n _events_engine.default.on(this._$viewContentWrapper, _click.name, this._viewContentWrapperClickHandler.bind(this));\r\n this._refreshPositionClass();\r\n this._refreshWrapperChildrenOrder()\r\n },\r\n _render: function() {\r\n var _this = this;\r\n this._initMinMaxSize();\r\n this.callBase();\r\n this._whenPanelContentRendered.always(function() {\r\n _this._initMinMaxSize();\r\n _this._strategy.refreshPanelElementSize(\"slide\" === _this.option(\"revealMode\") || !_this.isHorizontalDirection());\r\n _this._renderPosition(_this.option(\"opened\"), true);\r\n _this._removePanelManualPosition()\r\n })\r\n },\r\n _removePanelManualPosition: function() {\r\n if (this._$panelContentWrapper.attr(\"manualposition\")) {\r\n this._$panelContentWrapper.removeAttr(\"manualPosition\");\r\n this._$panelContentWrapper.css({\r\n position: \"\",\r\n top: \"\",\r\n left: \"\",\r\n right: \"\",\r\n bottom: \"\"\r\n })\r\n }\r\n },\r\n _renderPanelContentWrapper: function() {\r\n this._$panelContentWrapper = (0, _renderer.default)(\"
\").addClass(DRAWER_PANEL_CONTENT_CLASS);\r\n var position = this.calcTargetPosition();\r\n if (\"push\" === this.option(\"openedStateMode\") && [\"top\", \"bottom\"].indexOf(position) > -1) {\r\n this._$panelContentWrapper.addClass(DRAWER_PANEL_CONTENT_CLASS + \"-push-top-or-bottom\")\r\n }\r\n if (\"overlap\" !== this.option(\"openedStateMode\") && !this.option(\"opened\") && !this.option(\"minSize\")) {\r\n this._$panelContentWrapper.attr(\"manualposition\", true);\r\n this._$panelContentWrapper.css({\r\n position: \"absolute\",\r\n top: \"-10000px\",\r\n left: \"-10000px\",\r\n right: \"auto\",\r\n bottom: \"auto\"\r\n })\r\n }\r\n this._$wrapper.append(this._$panelContentWrapper)\r\n },\r\n _refreshOpenedStateModeClass: function(prevOpenedStateMode) {\r\n if (prevOpenedStateMode) {\r\n this.$element().removeClass(DRAWER_CLASS + \"-\" + prevOpenedStateMode)\r\n }\r\n this.$element().addClass(DRAWER_CLASS + \"-\" + this.option(\"openedStateMode\"))\r\n },\r\n _refreshPositionClass: function(prevPosition) {\r\n if (prevPosition) {\r\n this.$element().removeClass(DRAWER_CLASS + \"-\" + prevPosition)\r\n }\r\n this.$element().addClass(DRAWER_CLASS + \"-\" + this.calcTargetPosition())\r\n },\r\n _refreshWrapperChildrenOrder: function() {\r\n var position = this.calcTargetPosition();\r\n if (this._strategy.isViewContentFirst(position, this.option(\"rtlEnabled\"))) {\r\n this._$wrapper.prepend(this._$viewContentWrapper)\r\n } else {\r\n this._$wrapper.prepend(this._$panelContentWrapper)\r\n }\r\n },\r\n _refreshRevealModeClass: function(prevRevealMode) {\r\n if (prevRevealMode) {\r\n this.$element().removeClass(DRAWER_CLASS + \"-\" + prevRevealMode)\r\n }\r\n this.$element().addClass(DRAWER_CLASS + \"-\" + this.option(\"revealMode\"))\r\n },\r\n _renderViewContent: function() {\r\n var contentTemplateOption = this.option(\"contentTemplate\");\r\n var contentTemplate = this._getTemplate(contentTemplateOption);\r\n if (contentTemplate) {\r\n var $viewTemplate = contentTemplate.render({\r\n container: this.viewContent(),\r\n noModel: true,\r\n transclude: this._templateManager.anonymousTemplateName === contentTemplateOption\r\n });\r\n if ($viewTemplate.hasClass(\"ng-scope\")) {\r\n (0, _renderer.default)(this._$viewContentWrapper).children().not(\".\".concat(DRAWER_SHADER_CLASS)).replaceWith($viewTemplate)\r\n }\r\n }\r\n },\r\n _renderShader: function() {\r\n this._$shader = this._$shader || (0, _renderer.default)(\"
\").addClass(DRAWER_SHADER_CLASS);\r\n this._$shader.appendTo(this.viewContent());\r\n this._toggleShaderVisibility(this.option(\"opened\"))\r\n },\r\n _initSize: function() {\r\n this._initMinMaxSize()\r\n },\r\n _initMinMaxSize: function() {\r\n var realPanelSize = this.isHorizontalDirection() ? this.getRealPanelWidth() : this.getRealPanelHeight();\r\n this._maxSize = this.option(\"maxSize\") || realPanelSize;\r\n this._minSize = this.option(\"minSize\") || 0\r\n },\r\n calcTargetPosition: function() {\r\n var position = this.option(\"position\");\r\n var rtl = this.option(\"rtlEnabled\");\r\n var result = position;\r\n if (\"before\" === position) {\r\n result = rtl ? \"right\" : \"left\"\r\n } else {\r\n if (\"after\" === position) {\r\n result = rtl ? \"left\" : \"right\"\r\n }\r\n }\r\n return result\r\n },\r\n getOverlayTarget: function() {\r\n return this._options.silent(\"target\") || this._$wrapper\r\n },\r\n getOverlay: function() {\r\n return this._overlay\r\n },\r\n getMaxSize: function() {\r\n return this._maxSize\r\n },\r\n getMinSize: function() {\r\n return this._minSize\r\n },\r\n getRealPanelWidth: function() {\r\n if ((0, _window.hasWindow)()) {\r\n if ((0, _type.isDefined)(this.option(\"templateSize\"))) {\r\n return this.option(\"templateSize\")\r\n } else {\r\n return (0, _position.getBoundingRect)(this._getPanelTemplateElement()).width\r\n }\r\n } else {\r\n return 0\r\n }\r\n },\r\n getRealPanelHeight: function() {\r\n if ((0, _window.hasWindow)()) {\r\n if ((0, _type.isDefined)(this.option(\"templateSize\"))) {\r\n return this.option(\"templateSize\")\r\n } else {\r\n return (0, _position.getBoundingRect)(this._getPanelTemplateElement()).height\r\n }\r\n } else {\r\n return 0\r\n }\r\n },\r\n _getPanelTemplateElement: function() {\r\n var $panelContent = this._strategy.getPanelContent();\r\n var $result = $panelContent;\r\n if ($panelContent.children().length) {\r\n $result = $panelContent.children().eq(0);\r\n if ($panelContent.hasClass(\"dx-overlay-content\") && $result.hasClass(\"dx-template-wrapper\") && $result.children().length) {\r\n $result = $result.children().eq(0)\r\n }\r\n }\r\n return $result.get(0)\r\n },\r\n getElementHeight: function($element) {\r\n var $children = $element.children();\r\n return $children.length ? (0, _position.getBoundingRect)($children.eq(0).get(0)).height : (0, _position.getBoundingRect)($element.get(0)).height\r\n },\r\n isHorizontalDirection: function() {\r\n var position = this.calcTargetPosition();\r\n return \"left\" === position || \"right\" === position\r\n },\r\n stopAnimations: function(jumpToEnd) {\r\n _fx.default.stop(this._$shader, jumpToEnd);\r\n _fx.default.stop((0, _renderer.default)(this.content()), jumpToEnd);\r\n _fx.default.stop((0, _renderer.default)(this.viewContent()), jumpToEnd);\r\n var overlay = this.getOverlay();\r\n if (overlay) {\r\n _fx.default.stop((0, _renderer.default)(overlay.$content()), jumpToEnd)\r\n }\r\n },\r\n setZIndex: function(zIndex) {\r\n this._$shader.css(\"zIndex\", zIndex - 1);\r\n this._$panelContentWrapper.css(\"zIndex\", zIndex)\r\n },\r\n resizeContent: function() {\r\n this.resizeViewContent\r\n },\r\n resizeViewContent: function() {\r\n (0, _visibility_change.triggerResizeEvent)(this.viewContent())\r\n },\r\n _isInvertedPosition: function() {\r\n var position = this.calcTargetPosition();\r\n return \"right\" === position || \"bottom\" === position\r\n },\r\n _renderPosition: function(isDrawerOpened, disableAnimation, jumpToEnd) {\r\n this.stopAnimations(jumpToEnd);\r\n if (!(0, _window.hasWindow)()) {\r\n return\r\n }(0, _renderer.default)(this.viewContent()).css(\"paddingLeft\", 0);\r\n (0, _renderer.default)(this.viewContent()).css(\"paddingRight\", 0);\r\n (0, _renderer.default)(this.viewContent()).css(\"paddingTop\", 0);\r\n (0, _renderer.default)(this.viewContent()).css(\"paddingBottom\", 0);\r\n var animationEnabled = this.option(\"animationEnabled\");\r\n if (true === disableAnimation) {\r\n animationEnabled = false\r\n }\r\n if (isDrawerOpened) {\r\n this._toggleShaderVisibility(isDrawerOpened)\r\n }\r\n this._strategy.renderPosition(animationEnabled, this.option(\"animationDuration\"))\r\n },\r\n _animationCompleteHandler: function() {\r\n this.resizeViewContent();\r\n if (this._whenAnimationCompleted) {\r\n this._whenAnimationCompleted.resolve()\r\n }\r\n },\r\n _getPositionCorrection: function() {\r\n return this._isInvertedPosition() ? -1 : 1\r\n },\r\n _dispose: function() {\r\n _uiDrawer.animation.complete((0, _renderer.default)(this.viewContent()));\r\n this.callBase()\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n this._dimensionChanged()\r\n }\r\n },\r\n _dimensionChanged: function() {\r\n this._initMinMaxSize();\r\n this._strategy.refreshPanelElementSize(\"slide\" === this.option(\"revealMode\"));\r\n this._renderPosition(this.option(\"opened\"), true)\r\n },\r\n _toggleShaderVisibility: function(visible) {\r\n if (this.option(\"shading\")) {\r\n this._$shader.toggleClass(INVISIBLE_STATE_CLASS, !visible);\r\n this._$shader.css(\"visibility\", visible ? \"visible\" : \"hidden\")\r\n } else {\r\n this._$shader.toggleClass(INVISIBLE_STATE_CLASS, true)\r\n }\r\n },\r\n _toggleOpenedStateClass: function(opened) {\r\n this.$element().toggleClass(OPENED_STATE_CLASS, opened)\r\n },\r\n _refreshPanel: function() {\r\n var _this2 = this;\r\n (0, _renderer.default)(this.viewContent()).css(\"left\", 0);\r\n (0, _renderer.default)(this.viewContent()).css(\"transform\", \"translate(0px, 0px)\");\r\n (0, _renderer.default)(this.viewContent()).removeClass(\"dx-theme-background-color\");\r\n this._removePanelContentWrapper();\r\n this._removeOverlay();\r\n this._renderPanelContentWrapper();\r\n this._refreshWrapperChildrenOrder();\r\n this._whenPanelContentRefreshed = new _deferred.Deferred;\r\n this._strategy.renderPanelContent(this._whenPanelContentRefreshed);\r\n this._strategy.onPanelContentRendered();\r\n if ((0, _window.hasWindow)()) {\r\n this._whenPanelContentRefreshed.always(function() {\r\n _this2._strategy.refreshPanelElementSize(\"slide\" === _this2.option(\"revealMode\"));\r\n _this2._renderPosition(_this2.option(\"opened\"), true, true);\r\n _this2._removePanelManualPosition()\r\n })\r\n }\r\n },\r\n _clean: function() {\r\n this._cleanFocusState();\r\n this._removePanelContentWrapper();\r\n this._removeOverlay()\r\n },\r\n _removePanelContentWrapper: function() {\r\n if (this._$panelContentWrapper) {\r\n this._$panelContentWrapper.remove()\r\n }\r\n },\r\n _removeOverlay: function() {\r\n if (this._overlay) {\r\n this._overlay.dispose();\r\n delete this._overlay;\r\n delete this._$panelContentWrapper\r\n }\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"width\":\r\n this.callBase(args);\r\n this._dimensionChanged();\r\n break;\r\n case \"opened\":\r\n this._renderPosition(this.option(\"opened\"));\r\n this._toggleOpenedStateClass(args.value);\r\n break;\r\n case \"position\":\r\n this._refreshPositionClass(args.previousValue);\r\n this._refreshWrapperChildrenOrder();\r\n this._invalidate();\r\n break;\r\n case \"contentTemplate\":\r\n case \"template\":\r\n this._invalidate();\r\n break;\r\n case \"openedStateMode\":\r\n case \"target\":\r\n this._initStrategy();\r\n this._refreshOpenedStateModeClass(args.previousValue);\r\n this._refreshPanel();\r\n break;\r\n case \"minSize\":\r\n case \"maxSize\":\r\n this._initMinMaxSize();\r\n this._renderPosition(this.option(\"opened\"), true);\r\n break;\r\n case \"revealMode\":\r\n this._refreshRevealModeClass(args.previousValue);\r\n this._refreshPanel();\r\n break;\r\n case \"shading\":\r\n this._toggleShaderVisibility(this.option(\"opened\"));\r\n break;\r\n case \"animationEnabled\":\r\n case \"animationDuration\":\r\n case \"closeOnOutsideClick\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n content: function() {\r\n return (0, _element.getPublicElement)(this._$panelContentWrapper)\r\n },\r\n viewContent: function() {\r\n return (0, _element.getPublicElement)(this._$viewContentWrapper)\r\n },\r\n show: function() {\r\n return this.toggle(true)\r\n },\r\n hide: function() {\r\n return this.toggle(false)\r\n },\r\n toggle: function(opened) {\r\n var targetOpened = void 0 === opened ? !this.option(\"opened\") : opened;\r\n this._whenAnimationCompleted = new _deferred.Deferred;\r\n this.option(\"opened\", targetOpened);\r\n return this._whenAnimationCompleted.promise()\r\n }\r\n});\r\n(0, _component_registrator.default)(\"dxDrawer\", Drawer);\r\nvar _default = Drawer;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/drawer/ui.drawer.rendering.strategy.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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 _uiDrawer = require(\"./ui.drawer.animation\");\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar DrawerStrategy = function() {\r\n function DrawerStrategy(drawer) {\r\n this._drawer = drawer\r\n }\r\n var _proto = DrawerStrategy.prototype;\r\n _proto.getDrawerInstance = function() {\r\n return this._drawer\r\n };\r\n _proto.renderPanelContent = function(whenPanelContentRendered) {\r\n var drawer = this.getDrawerInstance();\r\n var template = drawer._getTemplate(drawer.option(\"template\"));\r\n if (template) {\r\n template.render({\r\n container: drawer.content(),\r\n onRendered: function() {\r\n whenPanelContentRendered.resolve()\r\n }\r\n })\r\n }\r\n };\r\n _proto.renderPosition = function(changePositionUsingFxAnimation, animationDuration) {\r\n var whenPositionAnimationCompleted = new _deferred.Deferred;\r\n var whenShaderAnimationCompleted = new _deferred.Deferred;\r\n var drawer = this.getDrawerInstance();\r\n if (changePositionUsingFxAnimation) {\r\n _deferred.when.apply(_renderer.default, [whenPositionAnimationCompleted, whenShaderAnimationCompleted]).done(function() {\r\n drawer._animationCompleteHandler()\r\n })\r\n }\r\n this._internalRenderPosition(changePositionUsingFxAnimation, whenPositionAnimationCompleted);\r\n if (!changePositionUsingFxAnimation) {\r\n drawer.resizeViewContent()\r\n }\r\n this.renderShaderVisibility(changePositionUsingFxAnimation, animationDuration, whenShaderAnimationCompleted)\r\n };\r\n _proto._getPanelOffset = function(isDrawerOpened) {\r\n var drawer = this.getDrawerInstance();\r\n var size = drawer.isHorizontalDirection() ? drawer.getRealPanelWidth() : drawer.getRealPanelHeight();\r\n if (isDrawerOpened) {\r\n return -(size - drawer.getMaxSize())\r\n } else {\r\n return -(size - drawer.getMinSize())\r\n }\r\n };\r\n _proto._getPanelSize = function(isDrawerOpened) {\r\n return isDrawerOpened ? this.getDrawerInstance().getMaxSize() : this.getDrawerInstance().getMinSize()\r\n };\r\n _proto.renderShaderVisibility = function(changePositionUsingFxAnimation, duration, whenAnimationCompleted) {\r\n var _this = this;\r\n var drawer = this.getDrawerInstance();\r\n var isShaderVisible = drawer.option(\"opened\");\r\n var fadeConfig = isShaderVisible ? {\r\n from: 0,\r\n to: 1\r\n } : {\r\n from: 1,\r\n to: 0\r\n };\r\n if (changePositionUsingFxAnimation) {\r\n _uiDrawer.animation.fade((0, _renderer.default)(drawer._$shader), fadeConfig, duration, function() {\r\n _this._drawer._toggleShaderVisibility(isShaderVisible);\r\n whenAnimationCompleted.resolve()\r\n })\r\n } else {\r\n drawer._toggleShaderVisibility(isShaderVisible);\r\n drawer._$shader.css(\"opacity\", fadeConfig.to)\r\n }\r\n };\r\n _proto.getPanelContent = function() {\r\n return (0, _renderer.default)(this.getDrawerInstance().content())\r\n };\r\n _proto.setPanelSize = function(calcFromRealPanelSize) {\r\n this.refreshPanelElementSize(calcFromRealPanelSize)\r\n };\r\n _proto.refreshPanelElementSize = function(calcFromRealPanelSize) {\r\n var drawer = this.getDrawerInstance();\r\n var panelSize = this._getPanelSize(drawer.option(\"opened\"));\r\n if (drawer.isHorizontalDirection()) {\r\n (0, _renderer.default)(drawer.content()).width(calcFromRealPanelSize ? drawer.getRealPanelWidth() : panelSize)\r\n } else {\r\n (0, _renderer.default)(drawer.content()).height(calcFromRealPanelSize ? drawer.getRealPanelHeight() : panelSize)\r\n }\r\n };\r\n _proto.isViewContentFirst = function() {\r\n return false\r\n };\r\n _proto.onPanelContentRendered = function() {};\r\n return DrawerStrategy\r\n}();\r\nvar _default = DrawerStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/dialog.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.title = exports.custom = exports.confirm = exports.alert = 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","/**\r\n * DevExtreme (ui/diagram/ui.diagram.panel.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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 return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _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.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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 return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _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 ItemsOptionBase = _component.default.inherit({}).include(_data_helper.default);\r\nvar ItemsOption = function(_ItemsOptionBase) {\r\n _inheritsLoose(ItemsOption, _ItemsOptionBase);\r\n\r\n function ItemsOption(diagramWidget) {\r\n var _this;\r\n _this = _ItemsOptionBase.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._initDataSource = function() {\r\n _ItemsOptionBase.prototype._initDataSource.call(this);\r\n this._dataSource && this._dataSource.paginate(false)\r\n };\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}(ItemsOptionBase);\r\nvar _default = ItemsOption;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/drop_down_button.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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 _function_template = require(\"../core/templates/function_template\");\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _button_group = _interopRequireDefault(require(\"./button_group\"));\r\nvar _popup = _interopRequireDefault(require(\"./popup\"));\r\nvar _list = _interopRequireDefault(require(\"./list\"));\r\nvar _data = require(\"../core/utils/data\");\r\nvar _element = require(\"../core/element\");\r\nvar _icon = require(\"../core/utils/icon\");\r\nvar _data_helper = _interopRequireDefault(require(\"../data_helper\"));\r\nvar _data_source = require(\"../data/data_source/data_source\");\r\nvar _array_store = _interopRequireDefault(require(\"../data/array_store\"));\r\nvar _deferred = require(\"../core/utils/deferred\");\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _common = require(\"../core/utils/common\");\r\nvar _guid = _interopRequireDefault(require(\"../core/guid\"));\r\nvar _utils = require(\"./drop_down_editor/utils\");\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 DROP_DOWN_BUTTON_CLASS = \"dx-dropdownbutton\";\r\nvar DROP_DOWN_BUTTON_CONTENT = \"dx-dropdownbutton-content\";\r\nvar DROP_DOWN_BUTTON_ACTION_CLASS = \"dx-dropdownbutton-action\";\r\nvar DROP_DOWN_BUTTON_TOGGLE_CLASS = \"dx-dropdownbutton-toggle\";\r\nvar DROP_DOWN_BUTTON_HAS_ARROW_CLASS = \"dx-dropdownbutton-has-arrow\";\r\nvar DROP_DOWN_BUTTON_POPUP_WRAPPER_CLASS = \"dx-dropdownbutton-popup-wrapper\";\r\nvar DX_BUTTON_TEXT_CLASS = \"dx-button-text\";\r\nvar DX_ICON_RIGHT_CLASS = \"dx-icon-right\";\r\nvar DropDownButton = _ui.default.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n itemTemplate: \"item\",\r\n keyExpr: \"this\",\r\n displayExpr: void 0,\r\n selectedItem: null,\r\n selectedItemKey: null,\r\n stylingMode: \"outlined\",\r\n deferRendering: true,\r\n noDataText: _message.default.format(\"dxCollectionWidget-noDataText\"),\r\n useSelectMode: false,\r\n splitButton: false,\r\n showArrowIcon: true,\r\n text: \"\",\r\n icon: void 0,\r\n onButtonClick: null,\r\n onSelectionChanged: null,\r\n onItemClick: null,\r\n opened: false,\r\n items: null,\r\n dataSource: null,\r\n focusStateEnabled: true,\r\n hoverStateEnabled: true,\r\n dropDownOptions: {},\r\n dropDownContentTemplate: \"content\",\r\n wrapItemText: false,\r\n grouped: false,\r\n groupTemplate: \"group\",\r\n buttonGroupOptions: {}\r\n })\r\n },\r\n _setOptionsByReference: function() {\r\n this.callBase();\r\n (0, _extend.extend)(this._optionsByReference, {\r\n selectedItem: true\r\n })\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._createItemClickAction();\r\n this._createActionClickAction();\r\n this._createSelectionChangedAction();\r\n this._initDataSource();\r\n this._compileKeyGetter();\r\n this._compileDisplayGetter();\r\n this._itemsToDataSource(this.option(\"items\"));\r\n this._options.cache(\"buttonGroupOptions\", this.option(\"buttonGroupOptions\"));\r\n this._options.cache(\"dropDownOptions\", this.option(\"dropDownOptions\"))\r\n },\r\n _initTemplates: function() {\r\n var _this = this;\r\n this._templateManager.addDefaultTemplates({\r\n content: new _function_template.FunctionTemplate(function(options) {\r\n var $popupContent = (0, _renderer.default)(options.container);\r\n var $listContainer = (0, _renderer.default)(\"
\").appendTo($popupContent);\r\n _this._list = _this._createComponent($listContainer, _list.default, _this._listOptions());\r\n _this._list.registerKeyHandler(\"escape\", _this._escHandler.bind(_this));\r\n _this._list.registerKeyHandler(\"tab\", _this._escHandler.bind(_this));\r\n _this._list.registerKeyHandler(\"leftArrow\", _this._escHandler.bind(_this));\r\n _this._list.registerKeyHandler(\"rightArrow\", _this._escHandler.bind(_this))\r\n })\r\n });\r\n this.callBase()\r\n },\r\n _itemsToDataSource: function(value) {\r\n if (!this._dataSource) {\r\n this._dataSource = new _data_source.DataSource({\r\n store: new _array_store.default({\r\n key: this._getKey(),\r\n data: value\r\n }),\r\n pageSize: 0\r\n })\r\n }\r\n },\r\n _getKey: function() {\r\n var _this$_dataSource;\r\n var keyExpr = this.option(\"keyExpr\");\r\n var storeKey = null === (_this$_dataSource = this._dataSource) || void 0 === _this$_dataSource ? void 0 : _this$_dataSource.key();\r\n return (0, _type.isDefined)(storeKey) && (!(0, _type.isDefined)(keyExpr) || \"this\" === keyExpr) ? storeKey : keyExpr\r\n },\r\n _compileKeyGetter: function() {\r\n this._keyGetter = (0, _data.compileGetter)(this._getKey())\r\n },\r\n _compileDisplayGetter: function() {\r\n this._displayGetter = (0, _data.compileGetter)(this.option(\"displayExpr\"))\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this.$element().addClass(DROP_DOWN_BUTTON_CLASS);\r\n this._renderButtonGroup();\r\n this._updateArrowClass();\r\n if ((0, _type.isDefined)(this.option(\"selectedItemKey\"))) {\r\n this._loadSelectedItem().done(this._updateActionButton.bind(this))\r\n }\r\n },\r\n _renderFocusTarget: _common.noop,\r\n _render: function() {\r\n if (!this.option(\"deferRendering\") || this.option(\"opened\")) {\r\n this._renderPopup()\r\n }\r\n this.callBase()\r\n },\r\n _renderContentImpl: function() {\r\n if (this._popup) {\r\n this._renderPopupContent()\r\n }\r\n return this.callBase()\r\n },\r\n _loadSelectedItem: function() {\r\n var _this$_loadSingleDefe;\r\n null === (_this$_loadSingleDefe = this._loadSingleDeferred) || void 0 === _this$_loadSingleDefe ? void 0 : _this$_loadSingleDefe.reject();\r\n var d = new _deferred.Deferred;\r\n if (this._list && void 0 !== this._lastSelectedItemData) {\r\n var cachedResult = this.option(\"useSelectMode\") ? this._list.option(\"selectedItem\") : this._lastSelectedItemData;\r\n return d.resolve(cachedResult)\r\n }\r\n this._lastSelectedItemData = void 0;\r\n var selectedItemKey = this.option(\"selectedItemKey\");\r\n this._loadSingle(this._getKey(), selectedItemKey).done(d.resolve).fail(function() {\r\n d.resolve(null)\r\n });\r\n this._loadSingleDeferred = d;\r\n return d.promise()\r\n },\r\n _createActionClickAction: function() {\r\n this._actionClickAction = this._createActionByOption(\"onButtonClick\")\r\n },\r\n _createSelectionChangedAction: function() {\r\n this._selectionChangedAction = this._createActionByOption(\"onSelectionChanged\")\r\n },\r\n _createItemClickAction: function() {\r\n this._itemClickAction = this._createActionByOption(\"onItemClick\")\r\n },\r\n _fireSelectionChangedAction: function(_ref) {\r\n var previousValue = _ref.previousValue,\r\n value = _ref.value;\r\n this._selectionChangedAction({\r\n item: value,\r\n previousItem: previousValue\r\n })\r\n },\r\n _fireItemClickAction: function(_ref2) {\r\n var event = _ref2.event,\r\n itemElement = _ref2.itemElement,\r\n itemData = _ref2.itemData;\r\n return this._itemClickAction({\r\n event: event,\r\n itemElement: itemElement,\r\n itemData: this._actionItem || itemData\r\n })\r\n },\r\n _actionButtonConfig: function() {\r\n return {\r\n text: this.option(\"text\"),\r\n icon: this.option(\"icon\"),\r\n elementAttr: {\r\n \"class\": DROP_DOWN_BUTTON_ACTION_CLASS\r\n }\r\n }\r\n },\r\n _getButtonGroupItems: function() {\r\n var items = [];\r\n items.push(this._actionButtonConfig());\r\n if (this.option(\"splitButton\")) {\r\n items.push({\r\n icon: \"spindown\",\r\n elementAttr: {\r\n \"class\": DROP_DOWN_BUTTON_TOGGLE_CLASS\r\n }\r\n })\r\n }\r\n return items\r\n },\r\n _buttonGroupItemClick: function(_ref3) {\r\n var event = _ref3.event,\r\n itemData = _ref3.itemData;\r\n var isActionButton = itemData.elementAttr.class === DROP_DOWN_BUTTON_ACTION_CLASS;\r\n var isToggleButton = itemData.elementAttr.class === DROP_DOWN_BUTTON_TOGGLE_CLASS;\r\n if (isToggleButton) {\r\n this.toggle()\r\n } else {\r\n if (isActionButton) {\r\n this._actionClickAction({\r\n event: event,\r\n selectedItem: this.option(\"selectedItem\")\r\n });\r\n if (!this.option(\"splitButton\")) {\r\n this.toggle()\r\n }\r\n }\r\n }\r\n },\r\n _buttonGroupOptions: function() {\r\n var _this2 = this;\r\n return (0, _extend.extend)({\r\n items: this._getButtonGroupItems(),\r\n focusStateEnabled: this.option(\"focusStateEnabled\"),\r\n hoverStateEnabled: this.option(\"hoverStateEnabled\"),\r\n onItemClick: this._buttonGroupItemClick.bind(this),\r\n width: \"100%\",\r\n height: \"100%\",\r\n stylingMode: this.option(\"stylingMode\"),\r\n selectionMode: \"none\",\r\n tabIndex: this.option(\"tabIndex\"),\r\n onKeyboardHandled: function(e) {\r\n return _this2._keyboardHandler(e)\r\n },\r\n buttonTemplate: function(_ref4, buttonContent) {\r\n var text = _ref4.text,\r\n icon = _ref4.icon;\r\n if (_this2.option(\"splitButton\") || !_this2.option(\"showArrowIcon\")) {\r\n return \"content\"\r\n }\r\n var $firstIcon = (0, _icon.getImageContainer)(icon);\r\n var $textContainer = text ? (0, _renderer.default)(\"\").text(text).addClass(DX_BUTTON_TEXT_CLASS) : void 0;\r\n var $secondIcon = (0, _icon.getImageContainer)(\"spindown\").addClass(DX_ICON_RIGHT_CLASS);\r\n (0, _renderer.default)(buttonContent).append($firstIcon, $textContainer, $secondIcon)\r\n }\r\n }, this._options.cache(\"buttonGroupOptions\"))\r\n },\r\n _renderPopupContent: function() {\r\n var $content = this._popup.$content();\r\n var template = this._getTemplateByOption(\"dropDownContentTemplate\");\r\n $content.empty();\r\n this._popupContentId = \"dx-\" + new _guid.default;\r\n this.setAria(\"id\", this._popupContentId, $content);\r\n return template.render({\r\n container: (0, _element.getPublicElement)($content),\r\n model: this.option(\"items\") || this._dataSource\r\n })\r\n },\r\n _popupOptions: function() {\r\n var _this3 = this;\r\n var horizontalAlignment = this.option(\"rtlEnabled\") ? \"right\" : \"left\";\r\n return (0, _extend.extend)({\r\n dragEnabled: false,\r\n focusStateEnabled: false,\r\n deferRendering: this.option(\"deferRendering\"),\r\n closeOnOutsideClick: function(e) {\r\n var $element = _this3.$element();\r\n var $buttonClicked = (0, _renderer.default)(e.target).closest(\".\".concat(DROP_DOWN_BUTTON_CLASS));\r\n return !$buttonClicked.is($element)\r\n },\r\n showTitle: false,\r\n animation: {\r\n show: {\r\n type: \"fade\",\r\n duration: 0,\r\n from: 0,\r\n to: 1\r\n },\r\n hide: {\r\n type: \"fade\",\r\n duration: 400,\r\n from: 1,\r\n to: 0\r\n }\r\n },\r\n width: function() {\r\n return (0, _utils.getElementWidth)(_this3.$element())\r\n },\r\n height: \"auto\",\r\n shading: false,\r\n position: {\r\n of: this.$element(),\r\n collision: \"flipfit\",\r\n my: horizontalAlignment + \" top\",\r\n at: horizontalAlignment + \" bottom\"\r\n }\r\n }, this._options.cache(\"dropDownOptions\"), {\r\n visible: this.option(\"opened\")\r\n })\r\n },\r\n _listOptions: function() {\r\n var _this4 = this;\r\n var selectedItemKey = this.option(\"selectedItemKey\");\r\n var useSelectMode = this.option(\"useSelectMode\");\r\n return {\r\n selectionMode: useSelectMode ? \"single\" : \"none\",\r\n wrapItemText: this.option(\"wrapItemText\"),\r\n focusStateEnabled: this.option(\"focusStateEnabled\"),\r\n hoverStateEnabled: this.option(\"hoverStateEnabled\"),\r\n showItemDataTitle: true,\r\n onContentReady: function() {\r\n return _this4._fireContentReadyAction()\r\n },\r\n selectedItemKeys: (0, _type.isDefined)(selectedItemKey) && useSelectMode ? [selectedItemKey] : [],\r\n grouped: this.option(\"grouped\"),\r\n groupTemplate: this.option(\"groupTemplate\"),\r\n keyExpr: this._getKey(),\r\n noDataText: this.option(\"noDataText\"),\r\n displayExpr: this.option(\"displayExpr\"),\r\n itemTemplate: this.option(\"itemTemplate\"),\r\n items: this.option(\"items\"),\r\n dataSource: this._dataSource,\r\n onItemClick: function(e) {\r\n if (!_this4.option(\"useSelectMode\")) {\r\n _this4._lastSelectedItemData = e.itemData\r\n }\r\n _this4.option(\"selectedItemKey\", _this4._keyGetter(e.itemData));\r\n var actionResult = _this4._fireItemClickAction(e);\r\n if (false !== actionResult) {\r\n _this4.toggle(false);\r\n _this4._buttonGroup.focus()\r\n }\r\n }\r\n }\r\n },\r\n _upDownKeyHandler: function() {\r\n if (this._popup && this._popup.option(\"visible\") && this._list) {\r\n this._list.focus()\r\n } else {\r\n this.open()\r\n }\r\n return true\r\n },\r\n _escHandler: function() {\r\n this.close();\r\n this._buttonGroup.focus();\r\n return true\r\n },\r\n _tabHandler: function() {\r\n this.close();\r\n return true\r\n },\r\n _renderPopup: function() {\r\n var $popup = (0, _renderer.default)(\"
\");\r\n this.$element().append($popup);\r\n this._popup = this._createComponent($popup, _popup.default, this._popupOptions());\r\n this._popup.$content().addClass(DROP_DOWN_BUTTON_CONTENT);\r\n this._popup.$wrapper().addClass(DROP_DOWN_BUTTON_POPUP_WRAPPER_CLASS);\r\n this._popup.on(\"hiding\", this._popupHidingHandler.bind(this));\r\n this._popup.on(\"showing\", this._popupShowingHandler.bind(this));\r\n this._bindInnerWidgetOptions(this._popup, \"dropDownOptions\")\r\n },\r\n _popupHidingHandler: function() {\r\n this.option(\"opened\", false);\r\n this.setAria({\r\n expanded: false,\r\n owns: void 0\r\n })\r\n },\r\n _popupOptionChanged: function(args) {\r\n var options = _ui.default.getOptionsFromContainer(args);\r\n this._setPopupOption(options);\r\n var optionsKeys = Object.keys(options);\r\n if (optionsKeys.indexOf(\"width\") !== -1 || optionsKeys.indexOf(\"height\") !== -1) {\r\n this._dimensionChanged()\r\n }\r\n },\r\n _dimensionChanged: function() {\r\n var _this5 = this;\r\n var popupWidth = (0, _utils.getSizeValue)(this.option(\"dropDownOptions.width\"));\r\n if (void 0 === popupWidth) {\r\n this._setPopupOption(\"width\", function() {\r\n return (0, _utils.getElementWidth)(_this5.$element())\r\n })\r\n }\r\n },\r\n _setPopupOption: function(optionName, value) {\r\n this._setWidgetOption(\"_popup\", arguments)\r\n },\r\n _popupShowingHandler: function() {\r\n this.option(\"opened\", true);\r\n this.setAria({\r\n expanded: true,\r\n owns: this._popupContentId\r\n })\r\n },\r\n _renderButtonGroup: function() {\r\n var $buttonGroup = this._buttonGroup && this._buttonGroup.$element() || (0, _renderer.default)(\"
\");\r\n if (!this._buttonGroup) {\r\n this.$element().append($buttonGroup)\r\n }\r\n this._buttonGroup = this._createComponent($buttonGroup, _button_group.default, this._buttonGroupOptions());\r\n this._buttonGroup.registerKeyHandler(\"downArrow\", this._upDownKeyHandler.bind(this));\r\n this._buttonGroup.registerKeyHandler(\"tab\", this._tabHandler.bind(this));\r\n this._buttonGroup.registerKeyHandler(\"upArrow\", this._upDownKeyHandler.bind(this));\r\n this._buttonGroup.registerKeyHandler(\"escape\", this._escHandler.bind(this));\r\n this._bindInnerWidgetOptions(this._buttonGroup, \"buttonGroupOptions\")\r\n },\r\n _updateArrowClass: function() {\r\n var hasArrow = this.option(\"splitButton\") || this.option(\"showArrowIcon\");\r\n this.$element().toggleClass(DROP_DOWN_BUTTON_HAS_ARROW_CLASS, hasArrow)\r\n },\r\n toggle: function(visible) {\r\n if (!this._popup) {\r\n this._renderPopup();\r\n this._renderContent()\r\n }\r\n return this._popup.toggle(visible)\r\n },\r\n open: function() {\r\n return this.toggle(true)\r\n },\r\n close: function() {\r\n return this.toggle(false)\r\n },\r\n _setListOption: function(name, value) {\r\n this._list && this._list.option(name, value)\r\n },\r\n _getDisplayValue: function(item) {\r\n var isPrimitiveItem = !(0, _type.isPlainObject)(item);\r\n var displayValue = isPrimitiveItem ? item : this._displayGetter(item);\r\n return !(0, _type.isPlainObject)(displayValue) ? String((0, _common.ensureDefined)(displayValue, \"\")) : \"\"\r\n },\r\n _updateActionButton: function(selectedItem) {\r\n if (this.option(\"useSelectMode\")) {\r\n this.option({\r\n text: this._getDisplayValue(selectedItem),\r\n icon: (0, _type.isPlainObject)(selectedItem) ? selectedItem.icon : void 0\r\n })\r\n }\r\n this._setOptionWithoutOptionChange(\"selectedItem\", selectedItem);\r\n this._setOptionWithoutOptionChange(\"selectedItemKey\", this._keyGetter(selectedItem))\r\n },\r\n _clean: function() {\r\n this._list && this._list.$element().remove();\r\n this._popup && this._popup.$element().remove()\r\n },\r\n _selectedItemKeyChanged: function(value) {\r\n var _this6 = this;\r\n this._setListOption(\"selectedItemKeys\", this.option(\"useSelectMode\") && (0, _type.isDefined)(value) ? [value] : []);\r\n var previousItem = this.option(\"selectedItem\");\r\n this._loadSelectedItem().done(function(selectedItem) {\r\n _this6._updateActionButton(selectedItem);\r\n if (_this6._displayGetter(previousItem) !== _this6._displayGetter(selectedItem)) {\r\n _this6._fireSelectionChangedAction({\r\n previousValue: previousItem,\r\n value: selectedItem\r\n })\r\n }\r\n })\r\n },\r\n _actionButtonOptionChanged: function(_ref5) {\r\n var name = _ref5.name,\r\n value = _ref5.value;\r\n var newConfig = {};\r\n newConfig[name] = value;\r\n this._buttonGroup.option(\"items[0]\", (0, _extend.extend)({}, this._actionButtonConfig(), newConfig));\r\n this._popup && this._popup.repaint()\r\n },\r\n _selectModeChanged: function(value) {\r\n if (value) {\r\n this._setListOption(\"selectionMode\", \"single\");\r\n var selectedItemKey = this.option(\"selectedItemKey\");\r\n this._setListOption(\"selectedItemKeys\", (0, _type.isDefined)(selectedItemKey) ? [selectedItemKey] : [])\r\n } else {\r\n this._setListOption(\"selectionMode\", \"none\");\r\n this.option({\r\n selectedItemKey: void 0,\r\n selectedItem: void 0\r\n })\r\n }\r\n },\r\n _updateItemCollection: function(optionName) {\r\n var _this7 = this;\r\n var selectedItemKey = this.option(\"selectedItemKey\");\r\n this._setListOption(\"selectedItem\", null);\r\n this._setWidgetOption(\"_list\", [optionName]);\r\n if ((0, _type.isDefined)(selectedItemKey)) {\r\n this._loadSelectedItem().done(function(selectedItem) {\r\n _this7._setListOption(\"selectedItemKeys\", [selectedItemKey]);\r\n _this7._setListOption(\"selectedItem\", selectedItem)\r\n }).fail(function(error) {\r\n _this7._setListOption(\"selectedItemKeys\", [])\r\n }).always(this._updateActionButton.bind(this))\r\n }\r\n },\r\n _updateDataSource: function() {\r\n var items = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._dataSource.items();\r\n this._dataSource = void 0;\r\n this._itemsToDataSource(items);\r\n this._updateKeyExpr()\r\n },\r\n _updateKeyExpr: function() {\r\n this._compileKeyGetter();\r\n this._setListOption(\"keyExpr\", this._getKey())\r\n },\r\n focus: function() {\r\n this._buttonGroup.focus()\r\n },\r\n _optionChanged: function(args) {\r\n var _this$_popup;\r\n var name = args.name,\r\n value = args.value;\r\n switch (name) {\r\n case \"useSelectMode\":\r\n this._selectModeChanged(value);\r\n break;\r\n case \"splitButton\":\r\n this._updateArrowClass();\r\n this._renderButtonGroup();\r\n break;\r\n case \"displayExpr\":\r\n this._compileDisplayGetter();\r\n this._setListOption(name, value);\r\n this._updateActionButton(this.option(\"selectedItem\"));\r\n break;\r\n case \"keyExpr\":\r\n this._updateDataSource();\r\n break;\r\n case \"buttonGroupOptions\":\r\n this._innerWidgetOptionChanged(this._buttonGroup, args);\r\n break;\r\n case \"dropDownOptions\":\r\n if (\"dropDownOptions.visible\" === args.fullName) {\r\n break\r\n }\r\n if (void 0 !== args.value.visible) {\r\n delete args.value.visible\r\n }\r\n this._popupOptionChanged(args);\r\n this._innerWidgetOptionChanged(this._popup, args);\r\n break;\r\n case \"opened\":\r\n this.toggle(value);\r\n break;\r\n case \"focusStateEnabled\":\r\n case \"hoverStateEnabled\":\r\n this._setListOption(name, value);\r\n this._buttonGroup.option(name, value);\r\n this.callBase(args);\r\n break;\r\n case \"items\":\r\n this._updateDataSource(this.option(\"items\"));\r\n this._updateItemCollection(name);\r\n break;\r\n case \"dataSource\":\r\n if (Array.isArray(value)) {\r\n this._updateDataSource(this.option(\"dataSource\"))\r\n } else {\r\n this._initDataSource();\r\n this._updateKeyExpr()\r\n }\r\n this._updateItemCollection(name);\r\n break;\r\n case \"icon\":\r\n case \"text\":\r\n this._actionButtonOptionChanged(args);\r\n break;\r\n case \"showArrowIcon\":\r\n this._updateArrowClass();\r\n this._buttonGroup.repaint();\r\n this._popup && this._popup.repaint();\r\n break;\r\n case \"width\":\r\n case \"height\":\r\n this.callBase(args);\r\n null === (_this$_popup = this._popup) || void 0 === _this$_popup ? void 0 : _this$_popup.repaint();\r\n break;\r\n case \"stylingMode\":\r\n this._buttonGroup.option(name, value);\r\n break;\r\n case \"itemTemplate\":\r\n case \"grouped\":\r\n case \"noDataText\":\r\n case \"groupTemplate\":\r\n case \"wrapItemText\":\r\n this._setListOption(name, value);\r\n break;\r\n case \"dropDownContentTemplate\":\r\n this._renderContent();\r\n break;\r\n case \"selectedItemKey\":\r\n this._selectedItemKeyChanged(value);\r\n break;\r\n case \"selectedItem\":\r\n break;\r\n case \"onItemClick\":\r\n this._createItemClickAction();\r\n break;\r\n case \"onButtonClick\":\r\n this._createActionClickAction();\r\n break;\r\n case \"onSelectionChanged\":\r\n this._createSelectionChangedAction();\r\n break;\r\n case \"deferRendering\":\r\n this.toggle(this.option(\"opened\"));\r\n break;\r\n case \"tabIndex\":\r\n this._buttonGroup.option(name, value);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n}).include(_data_helper.default);\r\n(0, _component_registrator.default)(\"dxDropDownButton\", DropDownButton);\r\nvar _default = DropDownButton;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (ui/drop_down_editor/ui.drop_down_button.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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 _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _button = _interopRequireDefault(require(\"../text_box/texteditor_button_collection/button\"));\r\nvar _button2 = _interopRequireDefault(require(\"../button\"));\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 DROP_DOWN_EDITOR_BUTTON_CLASS = \"dx-dropdowneditor-button\";\r\nvar DROP_DOWN_EDITOR_BUTTON_VISIBLE = \"dx-dropdowneditor-button-visible\";\r\nvar BUTTON_MESSAGE = \"dxDropDownEditor-selectLabel\";\r\nvar DropDownButton = function(_TextEditorButton) {\r\n _inheritsLoose(DropDownButton, _TextEditorButton);\r\n\r\n function DropDownButton(name, editor, options) {\r\n var _this;\r\n _this = _TextEditorButton.call(this, name, editor, options) || this;\r\n _this.currentTemplate = null;\r\n return _this\r\n }\r\n var _proto = DropDownButton.prototype;\r\n _proto._attachEvents = function(instance) {\r\n var editor = this.editor;\r\n instance.option(\"onClick\", function(e) {\r\n !editor.option(\"openOnFieldClick\") && editor._openHandler(e)\r\n });\r\n _events_engine.default.on(instance.$element(), \"mousedown\", function(e) {\r\n if (editor.$element().is(\".dx-state-focused\")) {\r\n e.preventDefault()\r\n }\r\n })\r\n };\r\n _proto._create = function() {\r\n var editor = this.editor;\r\n var $element = (0, _renderer.default)(\"
\");\r\n var options = this._getOptions();\r\n this._addToContainer($element);\r\n var instance = editor._createComponent($element, _button2.default, (0, _extend.extend)({}, options, {\r\n elementAttr: {\r\n \"aria-label\": _message.default.format(BUTTON_MESSAGE)\r\n }\r\n }));\r\n this._legacyRender(editor.$element(), $element, options.visible);\r\n return {\r\n $element: $element,\r\n instance: instance\r\n }\r\n };\r\n _proto._getOptions = function() {\r\n var editor = this.editor;\r\n var visible = this._isVisible();\r\n var isReadOnly = editor.option(\"readOnly\");\r\n var options = {\r\n focusStateEnabled: false,\r\n hoverStateEnabled: false,\r\n activeStateEnabled: false,\r\n useInkRipple: false,\r\n disabled: isReadOnly,\r\n visible: visible\r\n };\r\n this._addTemplate(options);\r\n return options\r\n };\r\n _proto._isVisible = function() {\r\n var editor = this.editor;\r\n return _TextEditorButton.prototype._isVisible.call(this) && editor.option(\"showDropDownButton\")\r\n };\r\n _proto._legacyRender = function($editor, $element, isVisible) {\r\n $editor.toggleClass(DROP_DOWN_EDITOR_BUTTON_VISIBLE, isVisible);\r\n if ($element) {\r\n $element.removeClass(\"dx-button\").addClass(DROP_DOWN_EDITOR_BUTTON_CLASS)\r\n }\r\n };\r\n _proto._isSameTemplate = function() {\r\n return this.editor.option(\"dropDownButtonTemplate\") === this.currentTemplate\r\n };\r\n _proto._addTemplate = function(options) {\r\n if (!this._isSameTemplate()) {\r\n options.template = this.editor._getTemplateByOption(\"dropDownButtonTemplate\");\r\n this.currentTemplate = this.editor.option(\"dropDownButtonTemplate\")\r\n }\r\n };\r\n _proto.update = function() {\r\n var shouldUpdate = _TextEditorButton.prototype.update.call(this);\r\n if (shouldUpdate) {\r\n var editor = this.editor,\r\n instance = this.instance;\r\n var $editor = editor.$element();\r\n var options = this._getOptions();\r\n null === instance || void 0 === instance ? void 0 : instance.option(options);\r\n this._legacyRender($editor, null === instance || void 0 === instance ? void 0 : instance.$element(), options.visible)\r\n }\r\n };\r\n return DropDownButton\r\n}(_button.default);\r\nexports.default = DropDownButton;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/diagram.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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 return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _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 _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(nodeInterop) {\r\n if (\"function\" !== typeof WeakMap) {\r\n return null\r\n }\r\n var cacheBabelInterop = new WeakMap;\r\n var cacheNodeInterop = new WeakMap;\r\n return (_getRequireWildcardCache = function(nodeInterop) {\r\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop\r\n })(nodeInterop)\r\n}\r\n\r\nfunction _interopRequireWildcard(obj, nodeInterop) {\r\n if (!nodeInterop && 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(nodeInterop);\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 (\"default\" !== key && 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._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 this._diagramInstance.settings.contextMenuEnabled = this.option(\"contextMenu.enabled\");\r\n if (this._diagramInstance.settings.contextMenuEnabled) {\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, $contentWrapper[0])\r\n }\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._dimensionChanged = function() {\r\n this._isMobileScreenSize = void 0;\r\n this._processDiagramResize()\r\n };\r\n _proto._visibilityChanged = function(visible) {\r\n if (visible) {\r\n this._bindDiagramData();\r\n this.repaint()\r\n }\r\n };\r\n _proto._processDiagramResize = function() {\r\n this._diagramInstance.onDimensionChanged();\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.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 $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();\r\n this._historyToolbarResizeCallback = function() {\r\n _this4._historyToolbar.option(\"isMobileView\", _this4.isMobileScreenSize())\r\n }\r\n };\r\n _proto._updateHistoryToolbarPosition = function() {\r\n if (!(0, _window.hasWindow)()) {\r\n return\r\n }\r\n _position.default.setup(this._historyToolbar.$element(), {\r\n my: \"left top\",\r\n at: \"left top\",\r\n of: this._historyToolbar.$element().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 if ((0, _type.isDefined)(change.internalKey)) {\r\n return change.internalKey\r\n } else {\r\n if ((0, _type.isDefined)(change.key)) {\r\n return change.key\r\n } else {\r\n return null\r\n }\r\n }\r\n }).filter(function(key) {\r\n return (0, _type.isDefined)(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._edgesOption.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._updateAllCustomShapes = function() {\r\n this._diagramInstance.removeAllCustomShapes();\r\n this._updateCustomShapes(this._getCustomShapes())\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._getViewport = function() {\r\n var $viewPort = this.$element().closest(\".dx-viewport\");\r\n return $viewPort.length ? $viewPort : (0, _renderer.default)(\"body\")\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 if (fullScreen) {\r\n this._prevParent = this.$element().parent();\r\n this._prevFullScreenZIndex = this.$element().css(\"zIndex\");\r\n this._fullScreenZIndex = zIndexPool.create(_ui2.default.baseZIndex());\r\n this.$element().css(\"zIndex\", this._fullScreenZIndex);\r\n this.$element().appendTo(this._getViewport())\r\n } else {\r\n this.$element().appendTo(this._prevParent);\r\n if (this._fullScreenZIndex) {\r\n zIndexPool.remove(this._fullScreenZIndex);\r\n this.$element().css(\"zIndex\", this._prevFullScreenZIndex)\r\n }\r\n }\r\n this.$element().toggleClass(DIAGRAM_FULLSCREEN_CLASS, fullScreen);\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 if (this._historyToolbar) {\r\n this._updateHistoryToolbarPosition()\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, isTouchMode, selection) {\r\n if (this._contextMenu) {\r\n this._contextMenu._isTouchMode = isTouchMode;\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._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 (0 === args.fullName.indexOf(\"nodes.autoLayout\")) {\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 if (args.fullName !== args.name) {\r\n this._updateAllCustomShapes()\r\n } else {\r\n this._updateCustomShapes(args.value, args.previousValue)\r\n }\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 this._invalidate();\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.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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\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\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 delete this._isTouchMode\r\n };\r\n _proto._isTouchBarMode = function() {\r\n if (void 0 !== this._isTouchMode) {\r\n return this._isTouchMode\r\n }\r\n var _getDiagram = (0, _diagram3.getDiagram)(),\r\n Browser = _getDiagram.Browser;\r\n if (Browser.TouchUI) {\r\n return true\r\n }\r\n if (!(0, _window.hasWindow)()) {\r\n return false\r\n }\r\n var window = (0, _window.getWindow)();\r\n return window.navigator && window.navigator.maxTouchPoints > 0\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.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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\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\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 popoverClass = DIAGRAM_CONTEXT_TOOLBOX_CLASS;\r\n if (this._isTouchMode()) {\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._isTouchMode = function() {\r\n var _getDiagram = (0, _diagram.getDiagram)(),\r\n Browser = _getDiagram.Browser;\r\n if (Browser.TouchUI) {\r\n return true\r\n }\r\n if (!(0, _window.hasWindow)()) {\r\n return false\r\n }\r\n var window = (0, _window.getWindow)();\r\n return window.navigator && window.navigator.maxTouchPoints > 0\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 var window = (0, _window.getWindow)();\r\n var targetDiv = this._$popoverTargetElement.get(0);\r\n this._$popoverTargetElement.css({\r\n left: targetDiv.offsetLeft - (targetDiv.getBoundingClientRect().left + window.scrollX - targetDiv.offsetLeft),\r\n top: targetDiv.offsetTop - (targetDiv.getBoundingClientRect().top + window.scrollY - targetDiv.offsetTop)\r\n });\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.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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 if (this._isTouchMode()) {\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)(\"
\").text(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._isTouchMode = function() {\r\n var _getDiagram = (0, _diagram.getDiagram)(),\r\n Browser = _getDiagram.Browser;\r\n if (Browser.TouchUI) {\r\n return true\r\n }\r\n if (!(0, _window.hasWindow)()) {\r\n return false\r\n }\r\n var window = (0, _window.getWindow)();\r\n return window.navigator && window.navigator.maxTouchPoints > 0\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.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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 return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _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.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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/drawer.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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/drawer/ui.drawer.rendering.strategy.push.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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 _uiDrawer = require(\"./ui.drawer.animation\");\r\nvar _uiDrawerRendering = _interopRequireDefault(require(\"./ui.drawer.rendering.strategy\"));\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _translator = require(\"../../animation/translator\");\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 PushStrategy = function(_DrawerStrategy) {\r\n _inheritsLoose(PushStrategy, _DrawerStrategy);\r\n\r\n function PushStrategy() {\r\n return _DrawerStrategy.apply(this, arguments) || this\r\n }\r\n var _proto = PushStrategy.prototype;\r\n _proto._internalRenderPosition = function(changePositionUsingFxAnimation, whenAnimationCompleted) {\r\n var drawer = this.getDrawerInstance();\r\n var openedPanelSize = this._getPanelSize(true);\r\n var contentPosition = this._getPanelSize(drawer.option(\"opened\")) * drawer._getPositionCorrection();\r\n (0, _renderer.default)(drawer.content()).css(drawer.isHorizontalDirection() ? \"width\" : \"height\", openedPanelSize);\r\n if (drawer.getMinSize()) {\r\n var paddingCssPropertyName = \"padding\";\r\n switch (drawer.calcTargetPosition()) {\r\n case \"left\":\r\n paddingCssPropertyName += \"Right\";\r\n break;\r\n case \"right\":\r\n paddingCssPropertyName += \"Left\";\r\n break;\r\n case \"top\":\r\n paddingCssPropertyName += \"Bottom\";\r\n break;\r\n case \"bottom\":\r\n paddingCssPropertyName += \"Top\"\r\n }(0, _renderer.default)(drawer.viewContent()).css(paddingCssPropertyName, drawer.getMinSize())\r\n } else {}\r\n if (changePositionUsingFxAnimation) {\r\n _uiDrawer.animation.moveTo({\r\n $element: (0, _renderer.default)(drawer.viewContent()),\r\n position: contentPosition,\r\n direction: drawer.calcTargetPosition(),\r\n duration: drawer.option(\"animationDuration\"),\r\n complete: function() {\r\n whenAnimationCompleted.resolve()\r\n }\r\n })\r\n } else {\r\n if (drawer.isHorizontalDirection()) {\r\n (0, _translator.move)((0, _renderer.default)(drawer.viewContent()), {\r\n left: contentPosition\r\n })\r\n } else {\r\n (0, _translator.move)((0, _renderer.default)(drawer.viewContent()), {\r\n top: contentPosition\r\n })\r\n }\r\n }\r\n };\r\n _proto.onPanelContentRendered = function() {\r\n (0, _renderer.default)(this.getDrawerInstance().viewContent()).addClass(\"dx-theme-background-color\")\r\n };\r\n return PushStrategy\r\n}(_uiDrawerRendering.default);\r\nvar _default = PushStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/drawer/ui.drawer.rendering.strategy.shrink.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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 _uiDrawer = require(\"./ui.drawer.animation\");\r\nvar _uiDrawerRendering = _interopRequireDefault(require(\"./ui.drawer.rendering.strategy\"));\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _inflector = require(\"../../core/utils/inflector\");\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 ShrinkStrategy = function(_DrawerStrategy) {\r\n _inheritsLoose(ShrinkStrategy, _DrawerStrategy);\r\n\r\n function ShrinkStrategy() {\r\n return _DrawerStrategy.apply(this, arguments) || this\r\n }\r\n var _proto = ShrinkStrategy.prototype;\r\n _proto._internalRenderPosition = function(changePositionUsingFxAnimation, whenAnimationCompleted) {\r\n var drawer = this.getDrawerInstance();\r\n var direction = drawer.calcTargetPosition();\r\n var $panel = (0, _renderer.default)(drawer.content());\r\n var panelSize = this._getPanelSize(drawer.option(\"opened\"));\r\n var panelOffset = this._getPanelOffset(drawer.option(\"opened\"));\r\n var revealMode = drawer.option(\"revealMode\");\r\n if (changePositionUsingFxAnimation) {\r\n if (\"slide\" === revealMode) {\r\n _uiDrawer.animation.margin({\r\n complete: function() {\r\n whenAnimationCompleted.resolve()\r\n },\r\n $element: $panel,\r\n duration: drawer.option(\"animationDuration\"),\r\n direction: direction,\r\n margin: panelOffset\r\n })\r\n } else {\r\n if (\"expand\" === revealMode) {\r\n _uiDrawer.animation.size({\r\n complete: function() {\r\n whenAnimationCompleted.resolve()\r\n },\r\n $element: $panel,\r\n duration: drawer.option(\"animationDuration\"),\r\n direction: direction,\r\n size: panelSize\r\n })\r\n }\r\n }\r\n } else {\r\n if (\"slide\" === revealMode) {\r\n $panel.css(\"margin\" + (0, _inflector.camelize)(direction, true), panelOffset)\r\n } else {\r\n if (\"expand\" === revealMode) {\r\n $panel.css(drawer.isHorizontalDirection() ? \"width\" : \"height\", panelSize)\r\n }\r\n }\r\n }\r\n };\r\n _proto.isViewContentFirst = function(position, isRtl) {\r\n return (isRtl ? \"left\" === position : \"right\" === position) || \"bottom\" === position\r\n };\r\n return ShrinkStrategy\r\n}(_uiDrawerRendering.default);\r\nvar _default = ShrinkStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/drawer/ui.drawer.rendering.strategy.overlap.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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 _uiDrawer = require(\"./ui.drawer.animation\");\r\nvar _uiDrawerRendering = _interopRequireDefault(require(\"./ui.drawer.rendering.strategy\"));\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _translator = require(\"../../animation/translator\");\r\nvar _overlay = _interopRequireDefault(require(\"../overlay\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _inflector = require(\"../../core/utils/inflector\");\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 OverlapStrategy = function(_DrawerStrategy) {\r\n _inheritsLoose(OverlapStrategy, _DrawerStrategy);\r\n\r\n function OverlapStrategy() {\r\n return _DrawerStrategy.apply(this, arguments) || this\r\n }\r\n var _proto = OverlapStrategy.prototype;\r\n _proto.renderPanelContent = function(whenPanelContentRendered) {\r\n var _this = this;\r\n delete this._initialPosition;\r\n var drawer = this.getDrawerInstance();\r\n var _drawer$option = drawer.option(),\r\n opened = _drawer$option.opened,\r\n minSize = _drawer$option.minSize;\r\n drawer._overlay = drawer._createComponent(drawer.content(), _overlay.default, {\r\n shading: false,\r\n container: drawer.getOverlayTarget(),\r\n position: this._getOverlayPosition(),\r\n width: opened ? \"auto\" : minSize || 0,\r\n height: \"100%\",\r\n templatesRenderAsynchronously: drawer.option(\"templatesRenderAsynchronously\"),\r\n animation: {\r\n show: {\r\n duration: 0\r\n }\r\n },\r\n onPositioned: function(e) {\r\n this._fixOverlayPosition(e.component.$content())\r\n }.bind(this),\r\n contentTemplate: drawer.option(\"template\"),\r\n onContentReady: function(args) {\r\n whenPanelContentRendered.resolve();\r\n _this._processOverlayZIndex(args.component.content())\r\n },\r\n visible: true,\r\n propagateOutsideClick: true\r\n })\r\n };\r\n _proto._fixOverlayPosition = function($overlayContent) {\r\n var position = (0, _common.ensureDefined)(this._initialPosition, {\r\n left: 0,\r\n top: 0\r\n });\r\n (0, _translator.move)($overlayContent, position);\r\n if (\"right\" === this.getDrawerInstance().calcTargetPosition()) {\r\n $overlayContent.css(\"left\", \"auto\")\r\n }\r\n if (\"bottom\" === this.getDrawerInstance().calcTargetPosition()) {\r\n $overlayContent.css(\"top\", \"auto\");\r\n $overlayContent.css(\"bottom\", \"0px\")\r\n }\r\n };\r\n _proto._getOverlayPosition = function() {\r\n var drawer = this.getDrawerInstance();\r\n var panelPosition = drawer.calcTargetPosition();\r\n var result = {};\r\n switch (panelPosition) {\r\n case \"left\":\r\n result = {\r\n my: \"top left\",\r\n at: \"top left\"\r\n };\r\n break;\r\n case \"right\":\r\n result = {\r\n my: drawer.option(\"rtlEnabled\") ? \"top left\" : \"top right\",\r\n at: \"top right\"\r\n };\r\n break;\r\n case \"top\":\r\n case \"bottom\":\r\n result = {\r\n my: panelPosition,\r\n at: panelPosition\r\n }\r\n }\r\n result.of = drawer.getOverlayTarget();\r\n return result\r\n };\r\n _proto.refreshPanelElementSize = function(calcFromRealPanelSize) {\r\n var drawer = this.getDrawerInstance();\r\n var overlay = drawer.getOverlay();\r\n if (drawer.isHorizontalDirection()) {\r\n overlay.option(\"height\", \"100%\");\r\n overlay.option(\"width\", calcFromRealPanelSize ? drawer.getRealPanelWidth() : this._getPanelSize(drawer.option(\"opened\")))\r\n } else {\r\n overlay.option(\"width\", overlay.option(\"container\").width());\r\n overlay.option(\"height\", calcFromRealPanelSize ? drawer.getRealPanelHeight() : this._getPanelSize(drawer.option(\"opened\")))\r\n }\r\n };\r\n _proto.onPanelContentRendered = function() {\r\n this._updateViewContentStyles()\r\n };\r\n _proto._updateViewContentStyles = function() {\r\n var drawer = this.getDrawerInstance();\r\n (0, _renderer.default)(drawer.viewContent()).css(\"padding\" + (0, _inflector.camelize)(drawer.calcTargetPosition(), true), drawer.option(\"minSize\"));\r\n (0, _renderer.default)(drawer.viewContent()).css(\"transform\", \"inherit\")\r\n };\r\n _proto._internalRenderPosition = function(changePositionUsingFxAnimation, whenAnimationCompleted) {\r\n var drawer = this.getDrawerInstance();\r\n var $panel = (0, _renderer.default)(drawer.content());\r\n var $panelOverlayContent = drawer.getOverlay().$content();\r\n var revealMode = drawer.option(\"revealMode\");\r\n var targetPanelPosition = drawer.calcTargetPosition();\r\n var panelSize = this._getPanelSize(drawer.option(\"opened\"));\r\n var panelOffset = this._getPanelOffset(drawer.option(\"opened\")) * drawer._getPositionCorrection();\r\n var marginTop = drawer.getRealPanelHeight() - panelSize;\r\n this._updateViewContentStyles();\r\n if (changePositionUsingFxAnimation) {\r\n if (\"slide\" === revealMode) {\r\n this._initialPosition = drawer.isHorizontalDirection() ? {\r\n left: panelOffset\r\n } : {\r\n top: panelOffset\r\n };\r\n _uiDrawer.animation.moveTo({\r\n complete: function() {\r\n whenAnimationCompleted.resolve()\r\n },\r\n duration: drawer.option(\"animationDuration\"),\r\n direction: targetPanelPosition,\r\n $element: $panel,\r\n position: panelOffset\r\n })\r\n } else {\r\n if (\"expand\" === revealMode) {\r\n this._initialPosition = {\r\n left: 0\r\n };\r\n (0, _translator.move)($panelOverlayContent, this._initialPosition);\r\n _uiDrawer.animation.size({\r\n complete: function() {\r\n whenAnimationCompleted.resolve()\r\n },\r\n duration: drawer.option(\"animationDuration\"),\r\n direction: targetPanelPosition,\r\n $element: $panelOverlayContent,\r\n size: panelSize,\r\n marginTop: marginTop\r\n })\r\n }\r\n }\r\n } else {\r\n if (\"slide\" === revealMode) {\r\n this._initialPosition = drawer.isHorizontalDirection() ? {\r\n left: panelOffset\r\n } : {\r\n top: panelOffset\r\n };\r\n (0, _translator.move)($panel, this._initialPosition)\r\n } else {\r\n if (\"expand\" === revealMode) {\r\n this._initialPosition = {\r\n left: 0\r\n };\r\n (0, _translator.move)($panelOverlayContent, this._initialPosition);\r\n if (drawer.isHorizontalDirection()) {\r\n (0, _renderer.default)($panelOverlayContent).css(\"width\", panelSize)\r\n } else {\r\n (0, _renderer.default)($panelOverlayContent).css(\"height\", panelSize);\r\n if (\"bottom\" === targetPanelPosition) {\r\n (0, _renderer.default)($panelOverlayContent).css(\"marginTop\", marginTop)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n };\r\n _proto.getPanelContent = function() {\r\n return (0, _renderer.default)(this.getDrawerInstance().getOverlay().content())\r\n };\r\n _proto._processOverlayZIndex = function($element) {\r\n var styles = (0, _renderer.default)($element).get(0).style;\r\n var zIndex = styles.zIndex || 1;\r\n this.getDrawerInstance().setZIndex(zIndex)\r\n };\r\n _proto.isViewContentFirst = function(position) {\r\n return \"right\" === position || \"bottom\" === position\r\n };\r\n return OverlapStrategy\r\n}(_uiDrawerRendering.default);\r\nvar _default = OverlapStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/drop_down_box.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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(\"./drop_down_editor/ui.drop_down_editor\"));\r\nvar _ui2 = _interopRequireDefault(require(\"./editor/ui.data_expression\"));\r\nvar _common = require(\"../core/utils/common\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _selectors = require(\"./widget/selectors\");\r\nvar _deferred = require(\"../core/utils/deferred\");\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../events/core/events_engine\"));\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _utils = require(\"../ui/overlay/utils\");\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _index = require(\"../events/utils/index\");\r\nvar _short = require(\"../events/short\");\r\nvar _devices = _interopRequireDefault(require(\"../core/devices\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../core/dom_adapter\"));\r\nvar _element = require(\"../core/element\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar getActiveElement = _dom_adapter.default.getActiveElement;\r\nvar DROP_DOWN_BOX_CLASS = \"dx-dropdownbox\";\r\nvar ANONYMOUS_TEMPLATE_NAME = \"content\";\r\nvar realDevice = _devices.default.real();\r\nvar DropDownBox = _ui.default.inherit({\r\n _supportedKeys: function() {\r\n return (0, _extend.extend)({}, this.callBase(), {\r\n tab: function(e) {\r\n if (!this.option(\"opened\")) {\r\n return\r\n }\r\n var $tabbableElements = this._getTabbableElements();\r\n var $focusableElement = e.shiftKey ? $tabbableElements.last() : $tabbableElements.first();\r\n $focusableElement && _events_engine.default.trigger($focusableElement, \"focus\");\r\n e.preventDefault()\r\n }\r\n })\r\n },\r\n _getTabbableElements: function() {\r\n return this._getElements().filter(_selectors.tabbable)\r\n },\r\n _getElements: function() {\r\n return (0, _renderer.default)(this.content()).find(\"*\")\r\n },\r\n _getDefaultOptions: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n acceptCustomValue: false,\r\n contentTemplate: ANONYMOUS_TEMPLATE_NAME,\r\n openOnFieldClick: true,\r\n displayValueFormatter: function(value) {\r\n return Array.isArray(value) ? value.join(\", \") : value\r\n },\r\n useHiddenSubmitElement: true\r\n })\r\n },\r\n _getAnonymousTemplateName: function() {\r\n return ANONYMOUS_TEMPLATE_NAME\r\n },\r\n _initTemplates: function() {\r\n this.callBase()\r\n },\r\n _initMarkup: function() {\r\n this._initDataExpressions();\r\n this.$element().addClass(DROP_DOWN_BOX_CLASS);\r\n this.callBase()\r\n },\r\n _setSubmitValue: function() {\r\n var value = this.option(\"value\");\r\n var submitValue = this._shouldUseDisplayValue(value) ? this._displayGetter(value) : value;\r\n this._getSubmitElement().val(submitValue)\r\n },\r\n _shouldUseDisplayValue: function(value) {\r\n return \"this\" === this.option(\"valueExpr\") && (0, _type.isObject)(value)\r\n },\r\n _renderInputValue: function() {\r\n var _this = this;\r\n this._rejectValueLoading();\r\n var values = [];\r\n if (!this._dataSource) {\r\n this.callBase(values);\r\n return (new _deferred.Deferred).resolve()\r\n }\r\n var currentValue = this._getCurrentValue();\r\n var keys = null !== currentValue && void 0 !== currentValue ? currentValue : [];\r\n keys = Array.isArray(keys) ? keys : [keys];\r\n var itemLoadDeferreds = (0, _iterator.map)(keys, function(key) {\r\n var deferred = new _deferred.Deferred;\r\n _this._loadItem(key).always(function(item) {\r\n var displayValue = _this._displayGetter(item);\r\n if ((0, _type.isDefined)(displayValue)) {\r\n values.push(displayValue)\r\n } else {\r\n if (_this.option(\"acceptCustomValue\")) {\r\n values.push(key)\r\n }\r\n }\r\n deferred.resolve()\r\n });\r\n return deferred\r\n });\r\n var callBase = this.callBase.bind(this);\r\n return _deferred.when.apply(this, itemLoadDeferreds).always(function() {\r\n _this.option(\"displayValue\", values);\r\n callBase(values.length && values)\r\n })\r\n },\r\n _loadItem: function(value) {\r\n var deferred = new _deferred.Deferred;\r\n var that = this;\r\n var selectedItem = (0, _common.grep)(this.option(\"items\") || [], function(item) {\r\n return this._isValueEquals(this._valueGetter(item), value)\r\n }.bind(this))[0];\r\n if (void 0 !== selectedItem) {\r\n deferred.resolve(selectedItem)\r\n } else {\r\n this._loadValue(value).done(function(item) {\r\n deferred.resolve(item)\r\n }).fail(function(args) {\r\n if (null !== args && void 0 !== args && args.shouldSkipCallback) {\r\n return\r\n }\r\n if (that.option(\"acceptCustomValue\")) {\r\n deferred.resolve(value)\r\n } else {\r\n deferred.reject()\r\n }\r\n })\r\n }\r\n return deferred.promise()\r\n },\r\n _popupElementTabHandler: function(e) {\r\n if (\"tab\" !== (0, _index.normalizeKeyName)(e)) {\r\n return\r\n }\r\n var $firstTabbable = this._getTabbableElements().first().get(0);\r\n var $lastTabbable = this._getTabbableElements().last().get(0);\r\n var $target = e.originalEvent.target;\r\n var moveBackward = !!($target === $firstTabbable && e.shift);\r\n var moveForward = !!($target === $lastTabbable && !e.shift);\r\n if (moveBackward || moveForward) {\r\n this.close();\r\n _events_engine.default.trigger(this._input(), \"focus\");\r\n if (moveBackward) {\r\n e.originalEvent.preventDefault()\r\n }\r\n }\r\n },\r\n _renderPopup: function(e) {\r\n var _this2 = this;\r\n this.callBase();\r\n if (this.option(\"focusStateEnabled\")) {\r\n _short.keyboard.on(this.content(), null, function(e) {\r\n return _this2._popupElementTabHandler(e)\r\n })\r\n }\r\n },\r\n _renderPopupContent: function() {\r\n if (this.option(\"contentTemplate\") === ANONYMOUS_TEMPLATE_NAME) {\r\n return\r\n }\r\n var contentTemplate = this._getTemplateByOption(\"contentTemplate\");\r\n if (!(contentTemplate && this.option(\"contentTemplate\"))) {\r\n return\r\n }\r\n var $popupContent = this._popup.$content();\r\n var templateData = {\r\n value: this._fieldRenderData(),\r\n component: this\r\n };\r\n $popupContent.empty();\r\n contentTemplate.render({\r\n container: (0, _element.getPublicElement)($popupContent),\r\n model: templateData\r\n })\r\n },\r\n _canShowVirtualKeyboard: function() {\r\n return realDevice.mac\r\n },\r\n _isNestedElementActive: function() {\r\n var activeElement = getActiveElement();\r\n return activeElement && this._popup.$content().get(0).contains(activeElement)\r\n },\r\n _shouldCloseOnTargetScroll: function() {\r\n return \"desktop\" === realDevice.deviceType && this._canShowVirtualKeyboard() && this._isNestedElementActive()\r\n },\r\n _popupHiddenHandler: function() {\r\n this.callBase();\r\n this._popupPosition = void 0\r\n },\r\n _popupPositionedHandler: function(e) {\r\n this.callBase(e);\r\n this._popupPosition = e.position\r\n },\r\n _getDefaultPopupPosition: function(isRtlEnabled) {\r\n var _this$callBase = this.callBase(isRtlEnabled),\r\n my = _this$callBase.my,\r\n at = _this$callBase.at;\r\n return {\r\n my: my,\r\n at: at,\r\n offset: {\r\n v: -1\r\n },\r\n collision: \"flipfit\"\r\n }\r\n },\r\n _popupConfig: function() {\r\n var _this3 = this;\r\n var _this$option = this.option(),\r\n focusStateEnabled = _this$option.focusStateEnabled;\r\n return (0, _extend.extend)(this.callBase(), {\r\n tabIndex: -1,\r\n dragEnabled: false,\r\n focusStateEnabled: focusStateEnabled,\r\n contentTemplate: ANONYMOUS_TEMPLATE_NAME,\r\n closeOnTargetScroll: this._shouldCloseOnTargetScroll.bind(this),\r\n position: (0, _extend.extend)(this.option(\"popupPosition\"), {\r\n of: this.$element()\r\n }),\r\n onKeyboardHandled: function(opts) {\r\n return _this3.option(\"focusStateEnabled\") && _this3._popupElementTabHandler(opts)\r\n },\r\n maxHeight: function() {\r\n var _this$_popupPosition;\r\n var popupLocation = null === (_this$_popupPosition = this._popupPosition) || void 0 === _this$_popupPosition ? void 0 : _this$_popupPosition.v.location;\r\n return (0, _utils.getElementMaxHeightByWindow)(this.$element(), popupLocation)\r\n }.bind(this)\r\n })\r\n },\r\n _popupShownHandler: function() {\r\n this.callBase();\r\n var $firstElement = this._getTabbableElements().first();\r\n _events_engine.default.trigger($firstElement, \"focus\")\r\n },\r\n _setCollectionWidgetOption: _common.noop,\r\n _optionChanged: function(args) {\r\n this._dataExpressionOptionChanged(args);\r\n switch (args.name) {\r\n case \"dataSource\":\r\n this._renderInputValue();\r\n break;\r\n case \"displayValue\":\r\n this.option(\"text\", args.value);\r\n break;\r\n case \"displayExpr\":\r\n this._renderValue();\r\n break;\r\n case \"contentTemplate\":\r\n this._invalidate();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n}).include(_ui2.default);\r\n(0, _component_registrator.default)(\"dxDropDownBox\", DropDownBox);\r\nvar _default = DropDownBox;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (ui/editor/editor.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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 _element_data = require(\"../../core/element_data\");\r\nvar _callbacks = _interopRequireDefault(require(\"../../core/utils/callbacks\"));\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _validation_engine = _interopRequireDefault(require(\"../validation_engine\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _validation_message = _interopRequireDefault(require(\"../validation_message\"));\r\nvar _guid = _interopRequireDefault(require(\"../../core/guid\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar INVALID_MESSAGE_AUTO = \"dx-invalid-message-auto\";\r\nvar READONLY_STATE_CLASS = \"dx-state-readonly\";\r\nvar INVALID_CLASS = \"dx-invalid\";\r\nvar DX_INVALID_BADGE_CLASS = \"dx-show-invalid-badge\";\r\nvar VALIDATION_TARGET = \"dx-validation-target\";\r\nvar VALIDATION_STATUS_VALID = \"valid\";\r\nvar VALIDATION_STATUS_INVALID = \"invalid\";\r\nvar READONLY_NAMESPACE = \"editorReadOnly\";\r\nvar VALIDATION_MESSAGE_KEYS_MAP = {\r\n validationMessageMode: \"mode\",\r\n validationMessageOffset: \"offset\",\r\n validationBoundary: \"boundary\"\r\n};\r\nvar Editor = _ui.default.inherit({\r\n ctor: function() {\r\n this.showValidationMessageTimeout = null;\r\n this.validationRequest = (0, _callbacks.default)();\r\n this.callBase.apply(this, arguments)\r\n },\r\n _createElement: function(element) {\r\n this.callBase(element);\r\n var $element = this.$element();\r\n if ($element) {\r\n (0, _element_data.data)($element[0], VALIDATION_TARGET, this)\r\n }\r\n },\r\n _initOptions: function(options) {\r\n this.callBase.apply(this, arguments);\r\n this.option(_validation_engine.default.initValidationOptions(options))\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._options.cache(\"validationTooltipOptions\", this.option(\"validationTooltipOptions\"));\r\n var $element = this.$element();\r\n $element.addClass(DX_INVALID_BADGE_CLASS)\r\n },\r\n _getDefaultOptions: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n value: null,\r\n name: \"\",\r\n onValueChanged: null,\r\n readOnly: false,\r\n isValid: true,\r\n validationError: null,\r\n validationErrors: null,\r\n validationStatus: VALIDATION_STATUS_VALID,\r\n validationMessageMode: \"auto\",\r\n validationBoundary: void 0,\r\n validationMessageOffset: {\r\n h: 0,\r\n v: 0\r\n },\r\n validationTooltipOptions: {}\r\n })\r\n },\r\n _attachKeyboardEvents: function() {\r\n if (!this.option(\"readOnly\")) {\r\n this.callBase()\r\n }\r\n },\r\n _setOptionsByReference: function() {\r\n this.callBase();\r\n (0, _extend.extend)(this._optionsByReference, {\r\n validationError: true\r\n })\r\n },\r\n _createValueChangeAction: function() {\r\n this._valueChangeAction = this._createActionByOption(\"onValueChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _suppressValueChangeAction: function() {\r\n this._valueChangeActionSuppressed = true\r\n },\r\n _resumeValueChangeAction: function() {\r\n this._valueChangeActionSuppressed = false\r\n },\r\n _initMarkup: function() {\r\n var _this$option;\r\n this._toggleReadOnlyState();\r\n this._setSubmitElementName(this.option(\"name\"));\r\n this.callBase();\r\n this._renderValidationState();\r\n null === (_this$option = this.option(\"_onMarkupRendered\")) || void 0 === _this$option ? void 0 : _this$option()\r\n },\r\n _raiseValueChangeAction: function(value, previousValue) {\r\n if (!this._valueChangeAction) {\r\n this._createValueChangeAction()\r\n }\r\n this._valueChangeAction(this._valueChangeArgs(value, previousValue))\r\n },\r\n _valueChangeArgs: function(value, previousValue) {\r\n return {\r\n value: value,\r\n previousValue: previousValue,\r\n event: this._valueChangeEventInstance\r\n }\r\n },\r\n _saveValueChangeEvent: function(e) {\r\n this._valueChangeEventInstance = e\r\n },\r\n _focusInHandler: function(e) {\r\n var isValidationMessageShownOnFocus = \"auto\" === this.option(\"validationMessageMode\");\r\n if (this._canValueBeChangedByClick() && isValidationMessageShownOnFocus) {\r\n var _this$_validationMess;\r\n var $validationMessageWrapper = null === (_this$_validationMess = this._validationMessage) || void 0 === _this$_validationMess ? void 0 : _this$_validationMess.$wrapper();\r\n null === $validationMessageWrapper || void 0 === $validationMessageWrapper ? void 0 : $validationMessageWrapper.removeClass(INVALID_MESSAGE_AUTO);\r\n clearTimeout(this.showValidationMessageTimeout);\r\n this.showValidationMessageTimeout = setTimeout(function() {\r\n return null === $validationMessageWrapper || void 0 === $validationMessageWrapper ? void 0 : $validationMessageWrapper.addClass(INVALID_MESSAGE_AUTO)\r\n }, 150)\r\n }\r\n return this.callBase(e)\r\n },\r\n _canValueBeChangedByClick: function() {\r\n return false\r\n },\r\n _getValidationErrors: function() {\r\n var validationErrors = this.option(\"validationErrors\");\r\n if (!validationErrors && this.option(\"validationError\")) {\r\n validationErrors = [this.option(\"validationError\")]\r\n }\r\n return validationErrors\r\n },\r\n _disposeValidationMessage: function() {\r\n if (this._$validationMessage) {\r\n this._$validationMessage.remove();\r\n this.setAria(\"describedby\", null);\r\n this._$validationMessage = void 0;\r\n this._validationMessage = void 0\r\n }\r\n },\r\n _toggleValidationClasses: function(isInvalid) {\r\n this.$element().toggleClass(INVALID_CLASS, isInvalid);\r\n this.setAria(VALIDATION_STATUS_INVALID, isInvalid || void 0)\r\n },\r\n _renderValidationState: function() {\r\n var isValid = this.option(\"isValid\") && this.option(\"validationStatus\") !== VALIDATION_STATUS_INVALID;\r\n var validationErrors = this._getValidationErrors();\r\n var $element = this.$element();\r\n this._toggleValidationClasses(!isValid);\r\n if (!(0, _window.hasWindow)()) {\r\n return\r\n }\r\n this._disposeValidationMessage();\r\n if (!isValid && validationErrors) {\r\n var _this$option2 = this.option(),\r\n validationMessageMode = _this$option2.validationMessageMode,\r\n validationMessageOffset = _this$option2.validationMessageOffset,\r\n validationBoundary = _this$option2.validationBoundary,\r\n rtlEnabled = _this$option2.rtlEnabled;\r\n this._$validationMessage = (0, _renderer.default)(\"
\").appendTo($element);\r\n this.setAria(\"describedby\", \"dx-\" + new _guid.default);\r\n this._validationMessage = new _validation_message.default(this._$validationMessage, (0, _extend.extend)({\r\n validationErrors: validationErrors,\r\n rtlEnabled: rtlEnabled,\r\n target: this._getValidationMessageTarget(),\r\n container: $element,\r\n mode: validationMessageMode,\r\n positionRequest: \"below\",\r\n offset: validationMessageOffset,\r\n boundary: validationBoundary,\r\n describedElement: this._focusTarget()\r\n }, this._options.cache(\"validationTooltipOptions\")));\r\n this._bindInnerWidgetOptions(this._validationMessage, \"validationTooltipOptions\")\r\n }\r\n },\r\n _getValidationMessageTarget: function() {\r\n return this.$element()\r\n },\r\n _toggleReadOnlyState: function() {\r\n var readOnly = this.option(\"readOnly\");\r\n this._toggleBackspaceHandler(readOnly);\r\n this.$element().toggleClass(READONLY_STATE_CLASS, !!readOnly);\r\n this.setAria(\"readonly\", readOnly || void 0)\r\n },\r\n _toggleBackspaceHandler: function(isReadOnly) {\r\n var $eventTarget = this._keyboardEventBindingTarget();\r\n var eventName = (0, _index.addNamespace)(\"keydown\", READONLY_NAMESPACE);\r\n _events_engine.default.off($eventTarget, eventName);\r\n if (isReadOnly) {\r\n _events_engine.default.on($eventTarget, eventName, function(e) {\r\n if (\"backspace\" === (0, _index.normalizeKeyName)(e)) {\r\n e.preventDefault()\r\n }\r\n })\r\n }\r\n },\r\n _dispose: function() {\r\n var element = this.$element()[0];\r\n (0, _element_data.data)(element, VALIDATION_TARGET, null);\r\n clearTimeout(this.showValidationMessageTimeout);\r\n this._disposeValidationMessage();\r\n this.callBase()\r\n },\r\n _setSubmitElementName: function(name) {\r\n var $submitElement = this._getSubmitElement();\r\n if (!$submitElement) {\r\n return\r\n }\r\n if (name.length > 0) {\r\n $submitElement.attr(\"name\", name)\r\n } else {\r\n $submitElement.removeAttr(\"name\")\r\n }\r\n },\r\n _getSubmitElement: function() {\r\n return null\r\n },\r\n _setValidationMessageOption: function(_ref) {\r\n var _this$_validationMess2;\r\n var name = _ref.name,\r\n value = _ref.value;\r\n var optionKey = VALIDATION_MESSAGE_KEYS_MAP[name] ? VALIDATION_MESSAGE_KEYS_MAP[name] : name;\r\n null === (_this$_validationMess2 = this._validationMessage) || void 0 === _this$_validationMess2 ? void 0 : _this$_validationMess2.option(optionKey, value)\r\n },\r\n _optionChanged: function(args) {\r\n var _this$_validationMess3;\r\n switch (args.name) {\r\n case \"onValueChanged\":\r\n this._createValueChangeAction();\r\n break;\r\n case \"readOnly\":\r\n this._toggleReadOnlyState();\r\n this._refreshFocusState();\r\n break;\r\n case \"value\":\r\n if (args.value != args.previousValue) {\r\n this.validationRequest.fire({\r\n value: args.value,\r\n editor: this\r\n })\r\n }\r\n if (!this._valueChangeActionSuppressed) {\r\n this._raiseValueChangeAction(args.value, args.previousValue);\r\n this._saveValueChangeEvent(void 0)\r\n }\r\n break;\r\n case \"width\":\r\n this.callBase(args);\r\n null === (_this$_validationMess3 = this._validationMessage) || void 0 === _this$_validationMess3 ? void 0 : _this$_validationMess3.updateMaxWidth();\r\n break;\r\n case \"name\":\r\n this._setSubmitElementName(args.value);\r\n break;\r\n case \"isValid\":\r\n case \"validationError\":\r\n case \"validationErrors\":\r\n case \"validationStatus\":\r\n this.option(_validation_engine.default.synchronizeValidationOptions(args, this.option()));\r\n this._renderValidationState();\r\n break;\r\n case \"validationBoundary\":\r\n case \"validationMessageMode\":\r\n case \"validationMessageOffset\":\r\n this._setValidationMessageOption(args);\r\n break;\r\n case \"rtlEnabled\":\r\n this._setValidationMessageOption(args);\r\n this.callBase(args);\r\n break;\r\n case \"validationTooltipOptions\":\r\n this._innerWidgetOptionChanged(this._validationMessage, args);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n reset: function() {\r\n var defaultOptions = this._getDefaultOptions();\r\n this.option(\"value\", defaultOptions.value)\r\n }\r\n});\r\nvar _default = Editor;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/diagram/diagram.importer.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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 return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _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(nodeInterop) {\r\n if (\"function\" !== typeof WeakMap) {\r\n return null\r\n }\r\n var cacheBabelInterop = new WeakMap;\r\n var cacheNodeInterop = new WeakMap;\r\n return (_getRequireWildcardCache = function(nodeInterop) {\r\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop\r\n })(nodeInterop)\r\n}\r\n\r\nfunction _interopRequireWildcard(obj, nodeInterop) {\r\n if (!nodeInterop && 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(nodeInterop);\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 (\"default\" !== key && 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.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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 text: _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 text: _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 text: _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 text: _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 text: _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 text: _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 text: _message.default.format(\"dxDiagram-commandConnectorLineArrow\")\r\n }],\r\n hint: _message.default.format(\"dxDiagram-commandConnectorLineStart\"),\r\n text: _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 text: _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 text: _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 text: _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 text: _message.default.format(\"dxDiagram-commandConnectorLineArrow\")\r\n }],\r\n hint: _message.default.format(\"dxDiagram-commandConnectorLineEnd\"),\r\n text: _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 if (internalCommand === SEPARATOR_COMMAND) {\r\n return internalCommand\r\n }\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.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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 if ((\"dxButton\" === widget.NAME || \"dxTextBox\" === widget.NAME) && item.items) {\r\n var isTouchMode = this._isTouchMode();\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 !isTouchMode && 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 (!isTouchMode) {\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._isTouchMode = function() {\r\n var _getDiagram = (0, _diagram2.getDiagram)(),\r\n Browser = _getDiagram.Browser;\r\n if (Browser.TouchUI) {\r\n return true\r\n }\r\n if (!(0, _window.hasWindow)()) {\r\n return false\r\n }\r\n var window = (0, _window.getWindow)();\r\n return window.navigator && window.navigator.maxTouchPoints > 0\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/drawer/ui.drawer.animation.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.animation = void 0;\r\nvar _fx = _interopRequireDefault(require(\"../../animation/fx\"));\r\nvar _inflector = require(\"../../core/utils/inflector\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar animation = {\r\n moveTo: function(config) {\r\n var $element = config.$element;\r\n var position = config.position;\r\n var direction = config.direction || \"left\";\r\n var toConfig = {};\r\n var animationType;\r\n switch (direction) {\r\n case \"right\":\r\n toConfig.transform = \"translate(\" + position + \"px, 0px)\";\r\n animationType = \"custom\";\r\n break;\r\n case \"left\":\r\n toConfig.left = position;\r\n animationType = \"slide\";\r\n break;\r\n case \"top\":\r\n case \"bottom\":\r\n toConfig.top = position;\r\n animationType = \"slide\"\r\n }\r\n _fx.default.animate($element, {\r\n type: animationType,\r\n to: toConfig,\r\n duration: config.duration,\r\n complete: config.complete\r\n })\r\n },\r\n margin: function margin(config) {\r\n var $element = config.$element;\r\n var margin = config.margin;\r\n var direction = config.direction || \"left\";\r\n var toConfig = {};\r\n toConfig[\"margin\" + (0, _inflector.camelize)(direction, true)] = margin;\r\n _fx.default.animate($element, {\r\n to: toConfig,\r\n duration: config.duration,\r\n complete: config.complete\r\n })\r\n },\r\n fade: function($element, config, duration, completeAction) {\r\n _fx.default.animate($element, {\r\n type: \"fade\",\r\n to: config.to,\r\n from: config.from,\r\n duration: duration,\r\n complete: completeAction\r\n })\r\n },\r\n size: function size(config) {\r\n var $element = config.$element;\r\n var size = config.size;\r\n var direction = config.direction || \"left\";\r\n var marginTop = config.marginTop || 0;\r\n var duration = config.duration;\r\n var toConfig = {};\r\n if (\"right\" === direction || \"left\" === direction) {\r\n toConfig.width = size\r\n } else {\r\n toConfig.height = size\r\n }\r\n if (\"bottom\" === direction) {\r\n toConfig.marginTop = marginTop\r\n }\r\n _fx.default.animate($element, {\r\n to: toConfig,\r\n duration: duration,\r\n complete: config.complete\r\n })\r\n },\r\n complete: function($element) {\r\n _fx.default.stop($element, true)\r\n }\r\n};\r\nexports.animation = animation;\r\n","/**\r\n * DevExtreme (ui/drop_down_editor/ui.drop_down_editor.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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 _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _guid = _interopRequireDefault(require(\"../../core/guid\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _selectors = require(\"../widget/selectors\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _element = require(\"../../core/element\");\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.errors\"));\r\nvar _position = _interopRequireDefault(require(\"../../animation/position\"));\r\nvar _position2 = require(\"../../core/utils/position\");\r\nvar _ui2 = _interopRequireDefault(require(\"./ui.drop_down_button\"));\r\nvar _ui3 = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _text_box = _interopRequireDefault(require(\"../text_box\"));\r\nvar _click = require(\"../../events/click\");\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _function_template = require(\"../../core/templates/function_template\");\r\nvar _popup = _interopRequireDefault(require(\"../popup\"));\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _utils = require(\"./utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar DROP_DOWN_EDITOR_CLASS = \"dx-dropdowneditor\";\r\nvar DROP_DOWN_EDITOR_INPUT_WRAPPER = \"dx-dropdowneditor-input-wrapper\";\r\nvar DROP_DOWN_EDITOR_BUTTON_ICON = \"dx-dropdowneditor-icon\";\r\nvar DROP_DOWN_EDITOR_OVERLAY = \"dx-dropdowneditor-overlay\";\r\nvar DROP_DOWN_EDITOR_OVERLAY_FLIPPED = \"dx-dropdowneditor-overlay-flipped\";\r\nvar DROP_DOWN_EDITOR_ACTIVE = \"dx-dropdowneditor-active\";\r\nvar DROP_DOWN_EDITOR_FIELD_CLICKABLE = \"dx-dropdowneditor-field-clickable\";\r\nvar DROP_DOWN_EDITOR_FIELD_TEMPLATE_WRAPPER = \"dx-dropdowneditor-field-template-wrapper\";\r\nvar isIOs = \"ios\" === _devices.default.current().platform;\r\nvar DropDownEditor = _text_box.default.inherit({\r\n _supportedKeys: function() {\r\n return (0, _extend.extend)({}, this.callBase(), {\r\n tab: function(e) {\r\n if (!this.option(\"opened\")) {\r\n return\r\n }\r\n if (\"instantly\" === this.option(\"applyValueMode\")) {\r\n this.close();\r\n return\r\n }\r\n var $focusableElement = e.shiftKey ? this._getLastPopupElement() : this._getFirstPopupElement();\r\n $focusableElement && _events_engine.default.trigger($focusableElement, \"focus\");\r\n e.preventDefault()\r\n },\r\n escape: function(e) {\r\n if (this.option(\"opened\")) {\r\n e.preventDefault()\r\n }\r\n this.close();\r\n return true\r\n },\r\n upArrow: function(e) {\r\n if (!(0, _index.isCommandKeyPressed)(e)) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n if (e.altKey) {\r\n this.close();\r\n return false\r\n }\r\n }\r\n return true\r\n },\r\n downArrow: function(e) {\r\n if (!(0, _index.isCommandKeyPressed)(e)) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n if (e.altKey) {\r\n this._validatedOpening();\r\n return false\r\n }\r\n }\r\n return true\r\n },\r\n enter: function(e) {\r\n if (this.option(\"opened\")) {\r\n e.preventDefault();\r\n this._valueChangeEventHandler(e)\r\n }\r\n return true\r\n }\r\n })\r\n },\r\n _getDefaultButtons: function() {\r\n return this.callBase().concat([{\r\n name: \"dropDown\",\r\n Ctor: _ui2.default\r\n }])\r\n },\r\n _getDefaultOptions: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n value: null,\r\n onOpened: null,\r\n onClosed: null,\r\n opened: false,\r\n acceptCustomValue: true,\r\n applyValueMode: \"instantly\",\r\n deferRendering: true,\r\n activeStateEnabled: true,\r\n dropDownButtonTemplate: \"dropDownButton\",\r\n fieldTemplate: null,\r\n openOnFieldClick: false,\r\n showDropDownButton: true,\r\n buttons: void 0,\r\n dropDownOptions: {\r\n showTitle: false\r\n },\r\n popupPosition: this._getDefaultPopupPosition(),\r\n onPopupInitialized: null,\r\n applyButtonText: _message.default.format(\"OK\"),\r\n cancelButtonText: _message.default.format(\"Cancel\"),\r\n buttonsLocation: \"default\",\r\n useHiddenSubmitElement: false\r\n })\r\n },\r\n _useTemplates: function() {\r\n return true\r\n },\r\n _getDefaultPopupPosition: function(isRtlEnabled) {\r\n var position = (0, _position2.getDefaultAlignment)(isRtlEnabled);\r\n return {\r\n offset: {\r\n h: 0,\r\n v: -1\r\n },\r\n my: position + \" top\",\r\n at: position + \" bottom\",\r\n collision: \"flip flip\"\r\n }\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function(_device) {\r\n var isGeneric = \"generic\" === _device.platform;\r\n return isGeneric\r\n },\r\n options: {\r\n popupPosition: {\r\n offset: {\r\n v: 0\r\n }\r\n }\r\n }\r\n }])\r\n },\r\n _inputWrapper: function() {\r\n return this.$element().find(\".\" + DROP_DOWN_EDITOR_INPUT_WRAPPER).first()\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initVisibilityActions();\r\n this._initPopupInitializedAction();\r\n this._updatePopupPosition(this.option(\"rtlEnabled\"));\r\n this._options.cache(\"dropDownOptions\", this.option(\"dropDownOptions\"))\r\n },\r\n _updatePopupPosition: function(isRtlEnabled) {\r\n var _this$_getDefaultPopu = this._getDefaultPopupPosition(isRtlEnabled),\r\n my = _this$_getDefaultPopu.my,\r\n at = _this$_getDefaultPopu.at;\r\n var currentPosition = this.option(\"popupPosition\");\r\n this.option(\"popupPosition\", (0, _extend.extend)({}, currentPosition, {\r\n my: my,\r\n at: at\r\n }))\r\n },\r\n _initVisibilityActions: function() {\r\n this._openAction = this._createActionByOption(\"onOpened\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this._closeAction = this._createActionByOption(\"onClosed\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _initPopupInitializedAction: function() {\r\n this._popupInitializedAction = this._createActionByOption(\"onPopupInitialized\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _initMarkup: function() {\r\n this._renderSubmitElement();\r\n this.callBase();\r\n this.$element().addClass(DROP_DOWN_EDITOR_CLASS);\r\n this.setAria(\"role\", \"combobox\")\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._renderOpenHandler();\r\n this._attachFocusOutHandler();\r\n this._renderOpenedState()\r\n },\r\n _renderContentImpl: function() {\r\n if (!this.option(\"deferRendering\")) {\r\n this._createPopup()\r\n }\r\n },\r\n _renderInput: function() {\r\n this.callBase();\r\n this._wrapInput();\r\n this._setDefaultAria()\r\n },\r\n _wrapInput: function() {\r\n this._$container = this.$element().wrapInner((0, _renderer.default)(\"
\").addClass(DROP_DOWN_EDITOR_INPUT_WRAPPER)).children().eq(0)\r\n },\r\n _setDefaultAria: function() {\r\n this.setAria({\r\n haspopup: \"true\",\r\n autocomplete: \"list\"\r\n })\r\n },\r\n _readOnlyPropValue: function() {\r\n return !this._isEditable() || this.callBase()\r\n },\r\n _cleanFocusState: function() {\r\n this.callBase();\r\n if (this.option(\"fieldTemplate\")) {\r\n this._detachFocusEvents()\r\n }\r\n },\r\n _getFieldTemplate: function() {\r\n return this.option(\"fieldTemplate\") && this._getTemplateByOption(\"fieldTemplate\")\r\n },\r\n _renderMask: function() {\r\n if (this.option(\"fieldTemplate\")) {\r\n return\r\n }\r\n this.callBase()\r\n },\r\n _renderField: function() {\r\n var fieldTemplate = this._getFieldTemplate();\r\n fieldTemplate && this._renderTemplatedField(fieldTemplate, this._fieldRenderData())\r\n },\r\n _renderPlaceholder: function() {\r\n var hasFieldTemplate = !!this._getFieldTemplate();\r\n if (!hasFieldTemplate) {\r\n this.callBase()\r\n }\r\n },\r\n _renderValue: function() {\r\n if (this.option(\"useHiddenSubmitElement\")) {\r\n this._setSubmitValue()\r\n }\r\n var promise = this.callBase();\r\n promise.always(this._renderField.bind(this))\r\n },\r\n _renderTemplatedField: function(fieldTemplate, data) {\r\n var _this = this;\r\n var isFocused = (0, _selectors.focused)(this._input());\r\n var $container = this._$container;\r\n this._detachKeyboardEvents();\r\n this._refreshButtonsContainer();\r\n this._detachWrapperContent();\r\n this._detachFocusEvents();\r\n $container.empty();\r\n var $templateWrapper = (0, _renderer.default)(\"
\").addClass(DROP_DOWN_EDITOR_FIELD_TEMPLATE_WRAPPER).appendTo($container);\r\n fieldTemplate.render({\r\n model: data,\r\n container: (0, _element.getPublicElement)($templateWrapper),\r\n onRendered: function() {\r\n var $input = _this._input();\r\n if (!$input.length) {\r\n throw _ui.default.Error(\"E1010\")\r\n }\r\n _this._integrateInput();\r\n isFocused && _events_engine.default.trigger($input, \"focus\")\r\n }\r\n });\r\n this._attachWrapperContent($container)\r\n },\r\n _detachWrapperContent: function() {\r\n var _this$_$submitElement, _this$_$beforeButtons, _this$_$afterButtonsC;\r\n var useHiddenSubmitElement = this.option(\"useHiddenSubmitElement\");\r\n useHiddenSubmitElement && (null === (_this$_$submitElement = this._$submitElement) || void 0 === _this$_$submitElement ? void 0 : _this$_$submitElement.detach());\r\n var beforeButtonsContainerParent = null === (_this$_$beforeButtons = this._$beforeButtonsContainer) || void 0 === _this$_$beforeButtons ? void 0 : _this$_$beforeButtons[0].parentNode;\r\n var afterButtonsContainerParent = null === (_this$_$afterButtonsC = this._$afterButtonsContainer) || void 0 === _this$_$afterButtonsC ? void 0 : _this$_$afterButtonsC[0].parentNode;\r\n null === beforeButtonsContainerParent || void 0 === beforeButtonsContainerParent ? void 0 : beforeButtonsContainerParent.removeChild(this._$beforeButtonsContainer[0]);\r\n null === afterButtonsContainerParent || void 0 === afterButtonsContainerParent ? void 0 : afterButtonsContainerParent.removeChild(this._$afterButtonsContainer[0])\r\n },\r\n _attachWrapperContent: function($container) {\r\n var _this$_$submitElement2;\r\n var useHiddenSubmitElement = this.option(\"useHiddenSubmitElement\");\r\n $container.prepend(this._$beforeButtonsContainer);\r\n useHiddenSubmitElement && (null === (_this$_$submitElement2 = this._$submitElement) || void 0 === _this$_$submitElement2 ? void 0 : _this$_$submitElement2.appendTo($container));\r\n $container.append(this._$afterButtonsContainer)\r\n },\r\n _refreshButtonsContainer: function() {\r\n this._$buttonsContainer = this.$element().children().eq(0)\r\n },\r\n _integrateInput: function() {\r\n this._renderFocusState();\r\n this._refreshValueChangeEvent();\r\n this._refreshEvents();\r\n this._refreshEmptinessEvent()\r\n },\r\n _refreshEmptinessEvent: function() {\r\n _events_engine.default.off(this._input(), \"input blur\", this._toggleEmptinessEventHandler);\r\n this._renderEmptinessEvent()\r\n },\r\n _fieldRenderData: function() {\r\n return this.option(\"value\")\r\n },\r\n _initTemplates: function() {\r\n this._templateManager.addDefaultTemplates({\r\n dropDownButton: new _function_template.FunctionTemplate(function(options) {\r\n var $icon = (0, _renderer.default)(\"
\").addClass(DROP_DOWN_EDITOR_BUTTON_ICON);\r\n (0, _renderer.default)(options.container).append($icon)\r\n })\r\n });\r\n this.callBase()\r\n },\r\n _renderOpenHandler: function() {\r\n var $inputWrapper = this._inputWrapper();\r\n var eventName = (0, _index.addNamespace)(_click.name, this.NAME);\r\n var openOnFieldClick = this.option(\"openOnFieldClick\");\r\n _events_engine.default.off($inputWrapper, eventName);\r\n _events_engine.default.on($inputWrapper, eventName, this._getInputClickHandler(openOnFieldClick));\r\n this.$element().toggleClass(DROP_DOWN_EDITOR_FIELD_CLICKABLE, openOnFieldClick);\r\n if (openOnFieldClick) {\r\n this._openOnFieldClickAction = this._createAction(this._openHandler.bind(this))\r\n }\r\n },\r\n _attachFocusOutHandler: function() {\r\n var _this2 = this;\r\n if (isIOs) {\r\n this._detachFocusOutEvents();\r\n _events_engine.default.on(this._inputWrapper(), (0, _index.addNamespace)(\"focusout\", this.NAME), function(event) {\r\n var newTarget = event.relatedTarget;\r\n var popupWrapper = _this2.content ? (0, _renderer.default)(_this2.content()).closest(\".\" + DROP_DOWN_EDITOR_OVERLAY) : _this2._$popup;\r\n if (newTarget && _this2.option(\"opened\")) {\r\n var isNewTargetOutside = 0 === (0, _renderer.default)(newTarget).closest(\".\" + DROP_DOWN_EDITOR_OVERLAY, popupWrapper).length;\r\n if (isNewTargetOutside) {\r\n _this2.close()\r\n }\r\n }\r\n })\r\n }\r\n },\r\n _detachFocusOutEvents: function() {\r\n isIOs && _events_engine.default.off(this._inputWrapper(), (0, _index.addNamespace)(\"focusout\", this.NAME))\r\n },\r\n _getInputClickHandler: function(openOnFieldClick) {\r\n var _this3 = this;\r\n return openOnFieldClick ? function(e) {\r\n _this3._executeOpenAction(e)\r\n } : function(e) {\r\n _this3._focusInput()\r\n }\r\n },\r\n _openHandler: function() {\r\n this._toggleOpenState()\r\n },\r\n _executeOpenAction: function(e) {\r\n this._openOnFieldClickAction({\r\n event: e\r\n })\r\n },\r\n _keyboardEventBindingTarget: function() {\r\n return this._input()\r\n },\r\n _focusInput: function() {\r\n if (this.option(\"disabled\")) {\r\n return false\r\n }\r\n if (this.option(\"focusStateEnabled\") && !(0, _selectors.focused)(this._input())) {\r\n this._resetCaretPosition();\r\n _events_engine.default.trigger(this._input(), \"focus\")\r\n }\r\n return true\r\n },\r\n _resetCaretPosition: function() {\r\n var ignoreEditable = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : false;\r\n var inputElement = this._input().get(0);\r\n if (inputElement) {\r\n var value = inputElement.value;\r\n var caretPosition = (0, _type.isDefined)(value) && (ignoreEditable || this._isEditable()) ? value.length : 0;\r\n this._caret({\r\n start: caretPosition,\r\n end: caretPosition\r\n }, true)\r\n }\r\n },\r\n _isEditable: function() {\r\n return this.option(\"acceptCustomValue\")\r\n },\r\n _toggleOpenState: function(isVisible) {\r\n if (!this._focusInput()) {\r\n return\r\n }\r\n if (!this.option(\"readOnly\")) {\r\n isVisible = arguments.length ? isVisible : !this.option(\"opened\");\r\n this.option(\"opened\", isVisible)\r\n }\r\n },\r\n _renderOpenedState: function() {\r\n var opened = this.option(\"opened\");\r\n if (opened) {\r\n this._createPopup()\r\n }\r\n this.$element().toggleClass(DROP_DOWN_EDITOR_ACTIVE, opened);\r\n this._setPopupOption(\"visible\", opened);\r\n this.setAria({\r\n expanded: opened\r\n });\r\n this.setAria(\"owns\", (opened || void 0) && this._popupContentId, this.$element())\r\n },\r\n _createPopup: function() {\r\n if (this._$popup) {\r\n return\r\n }\r\n this._$popup = (0, _renderer.default)(\"
\").addClass(DROP_DOWN_EDITOR_OVERLAY).appendTo(this.$element());\r\n this._renderPopup();\r\n this._renderPopupContent()\r\n },\r\n _renderPopupContent: _common.noop,\r\n _renderPopup: function() {\r\n var popupConfig = (0, _extend.extend)(this._popupConfig(), this._options.cache(\"dropDownOptions\"));\r\n this._popup = this._createComponent(this._$popup, _popup.default, popupConfig);\r\n this._popup.on({\r\n showing: this._popupShowingHandler.bind(this),\r\n shown: this._popupShownHandler.bind(this),\r\n hiding: this._popupHidingHandler.bind(this),\r\n hidden: this._popupHiddenHandler.bind(this),\r\n contentReady: this._contentReadyHandler.bind(this)\r\n });\r\n this._contentReadyHandler();\r\n this._setPopupContentId(this._popup.$content());\r\n this._bindInnerWidgetOptions(this._popup, \"dropDownOptions\")\r\n },\r\n _setPopupContentId: function($popupContent) {\r\n this._popupContentId = \"dx-\" + new _guid.default;\r\n this.setAria(\"id\", this._popupContentId, $popupContent)\r\n },\r\n _contentReadyHandler: _common.noop,\r\n _popupConfig: function() {\r\n var _this4 = this;\r\n return {\r\n onInitialized: this._popupInitializedHandler(),\r\n position: (0, _extend.extend)(this.option(\"popupPosition\"), {\r\n of: this.$element()\r\n }),\r\n showTitle: this.option(\"dropDownOptions.showTitle\"),\r\n width: function() {\r\n return (0, _utils.getElementWidth)(_this4.$element())\r\n },\r\n height: \"auto\",\r\n shading: false,\r\n closeOnTargetScroll: true,\r\n closeOnOutsideClick: this._closeOutsideDropDownHandler.bind(this),\r\n animation: {\r\n show: {\r\n type: \"fade\",\r\n duration: 0,\r\n from: 0,\r\n to: 1\r\n },\r\n hide: {\r\n type: \"fade\",\r\n duration: 400,\r\n from: 1,\r\n to: 0\r\n }\r\n },\r\n deferRendering: false,\r\n focusStateEnabled: false,\r\n showCloseButton: false,\r\n dragEnabled: false,\r\n toolbarItems: this._getPopupToolbarItems(),\r\n onPositioned: this._popupPositionedHandler.bind(this),\r\n fullScreen: false,\r\n contentTemplate: null\r\n }\r\n },\r\n _popupInitializedHandler: function() {\r\n var _this5 = this;\r\n if (!this.option(\"onPopupInitialized\")) {\r\n return null\r\n }\r\n return function(e) {\r\n _this5._popupInitializedAction({\r\n popup: e.component\r\n })\r\n }\r\n },\r\n _dimensionChanged: function() {\r\n var _this6 = this;\r\n var popupWidth = (0, _utils.getSizeValue)(this.option(\"dropDownOptions.width\"));\r\n if (void 0 === popupWidth) {\r\n this._setPopupOption(\"width\", function() {\r\n return (0, _utils.getElementWidth)(_this6.$element())\r\n })\r\n }\r\n },\r\n _popupPositionedHandler: function(e) {\r\n e.position && this._popup.$overlayContent().toggleClass(DROP_DOWN_EDITOR_OVERLAY_FLIPPED, e.position.v.flip)\r\n },\r\n _popupShowingHandler: _common.noop,\r\n _popupHidingHandler: function() {\r\n this.option(\"opened\", false)\r\n },\r\n _popupShownHandler: function() {\r\n var _this$_validationMess;\r\n this._openAction();\r\n null === (_this$_validationMess = this._validationMessage) || void 0 === _this$_validationMess ? void 0 : _this$_validationMess.option(\"positionRequest\", this._getValidationMessagePositionRequest())\r\n },\r\n _popupHiddenHandler: function() {\r\n var _this$_validationMess2;\r\n this._closeAction();\r\n null === (_this$_validationMess2 = this._validationMessage) || void 0 === _this$_validationMess2 ? void 0 : _this$_validationMess2.option(\"positionRequest\", this._getValidationMessagePositionRequest())\r\n },\r\n _getValidationMessagePositionRequest: function() {\r\n var positionRequest = \"below\";\r\n if (this._popup && this._popup.option(\"visible\")) {\r\n var _animationPosition$se = _position.default.setup(this.$element()),\r\n myTop = _animationPosition$se.top;\r\n var _animationPosition$se2 = _position.default.setup(this._popup.$content()),\r\n popupTop = _animationPosition$se2.top;\r\n positionRequest = myTop + this.option(\"popupPosition\").offset.v > popupTop ? \"below\" : \"above\"\r\n }\r\n return positionRequest\r\n },\r\n _closeOutsideDropDownHandler: function(_ref) {\r\n var target = _ref.target;\r\n var $target = (0, _renderer.default)(target);\r\n var dropDownButton = this.getButton(\"dropDown\");\r\n var $dropDownButton = dropDownButton && dropDownButton.$element();\r\n var isInputClicked = !!$target.closest(this.$element()).length;\r\n var isDropDownButtonClicked = !!$target.closest($dropDownButton).length;\r\n var isOutsideClick = !isInputClicked && !isDropDownButtonClicked;\r\n return isOutsideClick\r\n },\r\n _clean: function() {\r\n delete this._openOnFieldClickAction;\r\n if (this._$popup) {\r\n this._$popup.remove();\r\n delete this._$popup;\r\n delete this._popup\r\n }\r\n this.callBase()\r\n },\r\n _setPopupOption: function(optionName, value) {\r\n this._setWidgetOption(\"_popup\", arguments)\r\n },\r\n _validatedOpening: function() {\r\n if (!this.option(\"readOnly\")) {\r\n this._toggleOpenState(true)\r\n }\r\n },\r\n _getPopupToolbarItems: function() {\r\n return \"useButtons\" === this.option(\"applyValueMode\") ? this._popupToolbarItemsConfig() : []\r\n },\r\n _getFirstPopupElement: function() {\r\n return this._popup.$wrapper().find(\".dx-popup-done.dx-button\")\r\n },\r\n _getLastPopupElement: function() {\r\n return this._popup.$wrapper().find(\".dx-popup-cancel.dx-button\")\r\n },\r\n _popupElementTabHandler: function(e) {\r\n var $element = (0, _renderer.default)(e.currentTarget);\r\n if (e.shiftKey && $element.is(this._getFirstPopupElement()) || !e.shiftKey && $element.is(this._getLastPopupElement())) {\r\n _events_engine.default.trigger(this._input(), \"focus\");\r\n e.preventDefault()\r\n }\r\n },\r\n _popupElementEscHandler: function() {\r\n _events_engine.default.trigger(this._input(), \"focus\");\r\n this.close()\r\n },\r\n _popupButtonInitializedHandler: function(e) {\r\n e.component.registerKeyHandler(\"tab\", this._popupElementTabHandler.bind(this));\r\n e.component.registerKeyHandler(\"escape\", this._popupElementEscHandler.bind(this))\r\n },\r\n _popupToolbarItemsConfig: function() {\r\n var buttonsConfig = [{\r\n shortcut: \"done\",\r\n options: {\r\n onClick: this._applyButtonHandler.bind(this),\r\n text: this.option(\"applyButtonText\"),\r\n onInitialized: this._popupButtonInitializedHandler.bind(this)\r\n }\r\n }, {\r\n shortcut: \"cancel\",\r\n options: {\r\n onClick: this._cancelButtonHandler.bind(this),\r\n text: this.option(\"cancelButtonText\"),\r\n onInitialized: this._popupButtonInitializedHandler.bind(this)\r\n }\r\n }];\r\n return this._applyButtonsLocation(buttonsConfig)\r\n },\r\n _applyButtonsLocation: function(buttonsConfig) {\r\n var buttonsLocation = this.option(\"buttonsLocation\");\r\n var resultConfig = buttonsConfig;\r\n if (\"default\" !== buttonsLocation) {\r\n var position = (0, _common.splitPair)(buttonsLocation);\r\n (0, _iterator.each)(resultConfig, function(_, element) {\r\n (0, _extend.extend)(element, {\r\n toolbar: position[0],\r\n location: position[1]\r\n })\r\n })\r\n }\r\n return resultConfig\r\n },\r\n _applyButtonHandler: function() {\r\n this.close();\r\n this.option(\"focusStateEnabled\") && this.focus()\r\n },\r\n _cancelButtonHandler: function() {\r\n this.close();\r\n this.option(\"focusStateEnabled\") && this.focus()\r\n },\r\n _popupOptionChanged: function(args) {\r\n var options = _ui3.default.getOptionsFromContainer(args);\r\n this._setPopupOption(options);\r\n var optionsKeys = Object.keys(options);\r\n if (optionsKeys.indexOf(\"width\") !== -1 || optionsKeys.indexOf(\"height\") !== -1) {\r\n this._dimensionChanged()\r\n }\r\n },\r\n _renderSubmitElement: function() {\r\n if (this.option(\"useHiddenSubmitElement\")) {\r\n this._$submitElement = (0, _renderer.default)(\"\").attr(\"type\", \"hidden\").appendTo(this.$element())\r\n }\r\n },\r\n _setSubmitValue: function() {\r\n this._getSubmitElement().val(this.option(\"value\"))\r\n },\r\n _getSubmitElement: function() {\r\n if (this.option(\"useHiddenSubmitElement\")) {\r\n return this._$submitElement\r\n } else {\r\n return this.callBase()\r\n }\r\n },\r\n _dispose: function() {\r\n this._detachFocusOutEvents();\r\n this.callBase()\r\n },\r\n _setDeprecatedOptions: function() {\r\n this.callBase();\r\n (0, _extend.extend)(this._deprecatedOptions, {\r\n showPopupTitle: {\r\n since: \"20.1\",\r\n alias: \"dropDownOptions.showTitle\"\r\n }\r\n })\r\n },\r\n _optionChanged: function(args) {\r\n var _this$_popup;\r\n switch (args.name) {\r\n case \"width\":\r\n case \"height\":\r\n this.callBase(args);\r\n null === (_this$_popup = this._popup) || void 0 === _this$_popup ? void 0 : _this$_popup.repaint();\r\n break;\r\n case \"opened\":\r\n this._renderOpenedState();\r\n break;\r\n case \"onOpened\":\r\n case \"onClosed\":\r\n this._initVisibilityActions();\r\n break;\r\n case \"onPopupInitialized\":\r\n this._initPopupInitializedAction();\r\n break;\r\n case \"fieldTemplate\":\r\n if ((0, _type.isDefined)(args.value)) {\r\n this._renderField()\r\n } else {\r\n this._invalidate()\r\n }\r\n break;\r\n case \"acceptCustomValue\":\r\n case \"openOnFieldClick\":\r\n this._invalidate();\r\n break;\r\n case \"dropDownButtonTemplate\":\r\n case \"showDropDownButton\":\r\n this._updateButtons([\"dropDown\"]);\r\n break;\r\n case \"dropDownOptions\":\r\n this._popupOptionChanged(args);\r\n this._options.cache(\"dropDownOptions\", this.option(\"dropDownOptions\"));\r\n break;\r\n case \"popupPosition\":\r\n break;\r\n case \"deferRendering\":\r\n if ((0, _window.hasWindow)()) {\r\n this._createPopup()\r\n }\r\n break;\r\n case \"applyValueMode\":\r\n case \"applyButtonText\":\r\n case \"cancelButtonText\":\r\n case \"buttonsLocation\":\r\n this._setPopupOption(\"toolbarItems\", this._getPopupToolbarItems());\r\n break;\r\n case \"showPopupTitle\":\r\n this._setPopupOption(\"showTitle\", args.value);\r\n break;\r\n case \"useHiddenSubmitElement\":\r\n if (this._$submitElement) {\r\n this._$submitElement.remove();\r\n this._$submitElement = void 0\r\n }\r\n this._renderSubmitElement();\r\n break;\r\n case \"rtlEnabled\":\r\n this._updatePopupPosition(args.value);\r\n this.callBase(args);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n open: function() {\r\n this.option(\"opened\", true)\r\n },\r\n close: function() {\r\n this.option(\"opened\", false)\r\n },\r\n field: function() {\r\n return (0, _element.getPublicElement)(this._input())\r\n },\r\n content: function() {\r\n return this._popup ? this._popup.content() : null\r\n }\r\n});\r\n(0, _component_registrator.default)(\"dxDropDownEditor\", DropDownEditor);\r\nvar _default = DropDownEditor;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (ui/drop_down_editor/utils.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.getSizeValue = exports.getElementWidth = void 0;\r\nvar _window = require(\"../../core/utils/window\");\r\nvar getElementWidth = function($element) {\r\n if ((0, _window.hasWindow)()) {\r\n return $element.outerWidth()\r\n }\r\n};\r\nexports.getElementWidth = getElementWidth;\r\nvar getSizeValue = function(size) {\r\n if (null === size) {\r\n size = void 0\r\n }\r\n if (\"function\" === typeof size) {\r\n size = size()\r\n }\r\n return size\r\n};\r\nexports.getSizeValue = getSizeValue;\r\n","/**\r\n * DevExtreme (ui/draggable.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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 OVERLAY_WRAPPER_CLASS = \"dx-overlay-wrapper\";\r\nvar OVERLAY_CONTENT_CLASS = \"dx-overlay-content\";\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 _this = this;\r\n var isScrollableFound = false;\r\n elements.some(function(element) {\r\n var $element = (0, _renderer.default)(element);\r\n var isTargetOverOverlayWrapper = $element.hasClass(OVERLAY_WRAPPER_CLASS) && \"none\" !== $element.css(\"pointerEvents\");\r\n var isTargetOverOverlayContent = $element.hasClass(OVERLAY_CONTENT_CLASS);\r\n if (isTargetOverOverlayWrapper || isTargetOverOverlayContent) {\r\n return true\r\n }\r\n isScrollableFound = _this._trySetScrollable(element, mousePosition);\r\n return isScrollableFound\r\n });\r\n if (!isScrollableFound) {\r\n this._$scrollableAtPointer = null;\r\n this._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 _this2 = 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 = _this2.option(\"group\");\r\n var sourceGroup = _this2._getSourceDraggable().option(\"group\");\r\n var $scrollable = _this2._getScrollable($target);\r\n if (_this2._verticalScrollHelper.isOutsideScrollable($scrollable, event) || _this2._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._isValidElement(e, $element)) {\r\n e.cancel = true;\r\n return\r\n }\r\n if (this._$sourceElement) {\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 _this3 = this;\r\n var $scrollable;\r\n $element.parents().toArray().some(function(parent) {\r\n var $parent = (0, _renderer.default)(parent);\r\n if (_this3._horizontalScrollHelper.isScrollable($parent) || _this3._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 _this4 = 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 !== _this4) {\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 _this4._revertItemToInitialPosition()\r\n }\r\n _this4.reset();\r\n targetDraggable.reset();\r\n _this4._stopAnimator();\r\n _this4._horizontalScrollHelper.reset();\r\n _this4._verticalScrollHelper.reset();\r\n _this4._resetDragElement();\r\n _this4._resetSourceElement();\r\n _this4._resetTargetDraggable();\r\n _this4._resetSourceDraggable()\r\n })\r\n }\r\n },\r\n _isTargetOverAnotherDraggable: function(e) {\r\n var _this5 = 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(_this5._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"],"sourceRoot":""}