{"version":3,"sources":["webpack:///./node_modules/devextreme/ui/gantt.js","webpack:///./node_modules/devextreme/ui/gantt/ui.gantt.js","webpack:///./node_modules/devextreme/ui/gantt/ui.gantt.view.js","webpack:///./node_modules/devextreme/ui/gantt/gantt_importer.js","webpack:///./node_modules/devextreme/ui/gantt/ui.gantt.task.area.container.js","webpack:///./node_modules/devextreme/ui/gantt/ui.gantt.bars.js","webpack:///./node_modules/devextreme/ui/gantt/ui.gantt.data.option.js","webpack:///./node_modules/devextreme/ui/gantt/ui.gantt.dialogs.js","webpack:///./node_modules/devextreme/ui/gantt/ui.gantt.cache.js"],"names":["obj","exports","default","_default","__esModule","module","_renderer","_interopRequireDefault","_type","_ui","_component_registrator","_data","_uiGantt","_uiGantt2","_tree_list","_extend","_position","_window","_uiGanttData","_splitter","_uiGantt3","_load_panel","_element","_uiGantt4","_setPrototypeOf","o","p","Object","setPrototypeOf","__proto__","GANTT_MAPPED_FIELD_REGEX","Gantt","_Widget","subClass","superClass","apply","this","arguments","prototype","create","constructor","_proto","_init","call","_cache","GanttDataCache","_isGanttRendered","_initMarkup","$element","addClass","_$toolbarWrapper","appendTo","_$toolbar","_$mainWrapper","_$treeListWrapper","_$treeList","_$splitter","_$ganttView","_$dialog","_$loadPanel","_$contextMenu","_refreshDataSource","_refresh","_renderContent","_isMainElementVisible","is","_renderBars","_renderTreeList","_renderSplitter","_this","_this$option","option","keyExpr","parentIdExpr","_treeList","_createComponent","dataSource","_tasksRaw","columns","_getTreeListColumns","columnResizingMode","height","_getTreeListHeight","width","selection","mode","_getSelectionMode","selectedRowKeys","_getArrayFromOneElement","sorting","scrolling","showScrollbar","allowColumnResizing","autoExpandAll","showRowLines","rootValue","onContentReady","e","_onTreeListContentReady","onSelectionChanged","_onTreeListSelectionChanged","onRowCollapsed","_onTreeListRowCollapsed","onRowExpanded","_onTreeListRowExpanded","onRowPrepared","_onTreeListRowPrepared","onContextMenuPreparing","_onTreeListContextMenuPreparing","onRowClick","_onTreeListRowClick","onRowDblClick","_onTreeListRowDblClick","container","leftElement","rightElement","onApplyPanelSize","_onApplyPanelSize","bind","_bars","_toolbar","GanttToolbar","_updateToolbarContent","push","_contextMenuBar","GanttContextMenuBar","_updateContextMenu","_initGanttView","_this2","_ganttView","GanttView","_$element","get","offsetHeight","rowHeight","_getTreeListRowHeight","headerHeight","_getTreeListHeaderHeight","tasks","_tasks","dependencies","_dependencies","resources","_resources","resourceAssignments","_resourceAssignments","allowSelection","selectedRowKey","showResources","taskTitlePosition","firstDayOfWeek","scaleType","editing","validation","stripLines","bars","mainElement","_onGanttViewSelectionChanged","onScroll","_onGanttViewScroll","onDialogShowing","_showDialog","onPopupMenuShowing","_showPopupMenu","onExpandAll","_expandAll","onCollapseAll","_collapseAll","modelChangesListener","_createModelChangesListener","taskTooltipContentTemplate","_getTaskTooltipContentTemplateFunc","onTaskClick","onTaskDblClick","onAdjustControl","_onAdjustControl","_fireContentReadyAction","elementHeight","_updateGanttWidth","_setGanttHeight","_this$_ganttView","_setInnerElementsWidth","_ganttViewCore","updateRowHeights","component","getDataSource","_initScrollSync","rowType","node","children","length","rowElement","_e$row","_e$row2","row","_setTreeListOption","data","items","info","cancel","event","type","key","position","x","pageX","y","pageY","_raiseTaskClickAction","_raiseTaskDblClickAction","commandManager","showTaskEditDialog","execute","currentSelectedRowKeys","_setGanttViewOption","_setOptionWithoutOptionChange","_raiseSelectionChangedAction","changeTaskExpanded","_adjustHeight","_hasHeight","isDefined","i","column","dataField","concat","dataType","id","treeListScrollable","getScrollable","diff","scrollTop","scrollBy","left","top","_onTreeListScroll","treeListScrollView","ganttViewTaskAreaContainer","getTaskAreaContainer","_this3","forEachNode","expandRow","_this4","collapseRow","treeList","_this5","off","on","$row","find","getBoundingRect","last","_correctRowsViewRowHeight","view","_views","rowsView","_rowHeight","widths","hasWindow","_getPanelsWidthByOption","_setTreeListDimension","leftPanelWidth","_setGanttViewDimension","rightPanelWidth","dimension","value","_dimensionChanged","_this$_ganttView2","mainWrapperHeight","resetAndUpdate","optionName","name","_this6","dataOption","_disposeDataSource","_getLoadPanel","_dataSourceChanged","_getSpecificDataSourceOption","Array","isArray","store","_compileGettersByOption","getters","optionValue","field","exprMatches","match","compileGetter","_compileSettersByOption","setters","compileSetter","_getStoreObject","modelObject","keys","reduce","previous","_prepareSetterMapHandler","resultKey","_prepareMapHandler","dataSourceName","_this7","mappedData","map","expandedRowKeys","t","filter","index","self","indexOf","_this8","NotifyTaskCreated","task","callback","errorCallback","_onRecordInserted","NotifyTaskRemoved","taskId","_onRecordRemoved","NotifyTaskTitleChanged","newValue","_onRecordUpdated","NotifyTaskDescriptionChanged","NotifyTaskStartChanged","NotifyTaskEndChanged","NotifyTaskProgressChanged","NotifyTaskColorChanged","NotifyDependencyInserted","dependency","NotifyDependencyRemoved","dependencyId","NotifyResourceCreated","resource","NotifyResourceRemoved","resourceId","NotifyResourceAssigned","assignment","NotifyResourceUnassigned","assignmentId","NotifyParentDataRecalculated","_onParentTasksRecalculated","NotifyTaskCreating","args","_raiseInsertingAction","NotifyTaskRemoving","_raiseDeletingAction","NotifyTaskUpdating","_raiseUpdatingAction","NotifyTaskMoving","_getTaskMovingAction","NotifyTaskEditDialogShowing","_raiseTaskEditDialogShowingAction","NotifyDependencyInserting","NotifyDependencyRemoving","NotifyResourceCreating","NotifyResourceRemoving","NotifyResourceAssigning","NotifyResourceUnassigning","record","_this9","_addCustomFieldsDataFromCache","insert","response","insertedId","keyGetter","_updateTreeListDataSource","parentId","_selectTreeListRows","_raiseInsertedAction","_this10","remove","_raiseDeletedAction","_convertCoreToMappedData","fieldName","_this11","isTaskUpdated","setter","hasCustomFieldsData","hasData","update","_raiseUpdatedAction","treeDataSource","_appendCustomFields","modelData","_tasksOption","_getItems","invertedData","getInvertedData","item","modelItem","updatedItem","hasOwnProperty","inverted","dataItem","_skipUpdateTreeListDataSource","storeArray","_getStore","_array","_this$_treeList","selectRows","pullDataFromCache","_saveCustomFieldsDataToCache","_this12","forceUpdateOnKeyExpire","customFieldsData","_getCustomFieldsData","updateCallback","saveData","_loadPanel","of","_createSelectionChangedAction","_selectionChangedAction","_createActionByOption","_createTaskClickAction","_taskClickAction","_createTaskDblClickAction","_taskDblClickAction","_createCustomCommandAction","_customCommandAction","_createContextMenuPreparingAction","_contextMenuPreparingAction","_raiseCustomCommand","commandName","_raiseContextMenuPreparing","options","coreArgs","action","_getInsertingAction","values","_convertMappedToCoreData","_getInsertedAction","_getDeletingAction","_getDeletedAction","_getUpdatingAction","newValues","_getUpdatedAction","_getTaskEditDialogShowingAction","readOnlyFields","_convertCoreToMappedFields","hiddenFields","_convertMappedToCoreFields","getTaskData","_getTaskInsertingAction","_getDependencyInsertingAction","_getResourceInsertingAction","_getResourceAssigningAction","_getTaskInsertedAction","_getDependencyInsertedAction","_getResourceInsertedAction","_getResourceAssignedAction","_getTaskDeletingAction","_getDependencyDeletingAction","_getResourceDeletingAction","_getResourceUnassigningAction","_getTaskDeletedAction","_getDependencyDeletedAction","_getResourceDeletedAction","_getResourceUnassignedAction","_getTaskUpdatingAction","_getTaskUpdatedAction","_taskInsertingAction","_createTaskInsertingAction","_taskInsertedAction","_createTaskInsertedAction","_taskDeletingAction","_createTaskDeletingAction","_taskDeletedAction","_createTaskDeletedAction","_taskUpdatingAction","_createTaskUpdatingAction","_taskUpdatedAction","_createTaskUpdatedAction","_taskMovingAction","_createTaskMovingAction","_taskEditDialogShowingAction","_createTaskEditDialogShowingAction","_dependencyInsertingAction","_createDependencyInsertingAction","_dependencyInsertedAction","_createDependencyInsertedAction","_dependencyDeletingAction","_createDependencyDeletingAction","_dependencyDeletedAction","_createDependencyDeletedAction","_resourceInsertingAction","_createResourceInsertingAction","_resourceInsertedAction","_createResourceInsertedAction","_resourceDeletingAction","_createResourceDeletingAction","_resourceDeletedAction","_createResourceDeletedAction","_resourceAssigningAction","_createResourceAssigningAction","_resourceAssignedAction","_createResourceAssignedAction","_resourceUnassigningAction","_createResourceUnassigningAction","_resourceUnassignedAction","_createResourceUnassignedAction","coreData","_this13","f","mappedField","_getMappedFieldName","mappedFields","mappedFieldName","getter","coreField","coreFieldName","fields","_this14","coreFields","_getTaskMappedFieldNames","mappedFieldsData","_getTaskCustomFields","columnFields","c","_addCustomFieldsData","customFields","element","_getToolbarItems","show","hide","createItems","_updateBarItemsState","contextMenuOptions","enabled","updateBarItemsState","_dialogInstance","GanttDialog","parameters","afterClosing","getBarManager","updateContextMenu","targetType","targetKey","extend","_items","getDependencyData","_executeCoreCommand","executeCoreCommand","_clean","_this$_ganttView3","cleanMarkup","taskTooltipContentTemplateOption","_this15","template","_getTemplate","render","model","getTaskDataByCoreData","getPublicElement","_getDefaultOptions","startExpr","endExpr","progressExpr","titleExpr","colorExpr","predecessorIdExpr","successorIdExpr","typeExpr","textExpr","taskIdExpr","resourceIdExpr","taskListWidth","onTaskInserting","onTaskInserted","onTaskDeleting","onTaskDeleted","onTaskUpdating","onTaskUpdated","onTaskMoving","onTaskEditDialogShowing","onDependencyInserting","onDependencyInserted","onDependencyDeleting","onDependencyDeleted","onResourceInserting","onResourceInserted","onResourceDeleting","onResourceDeleted","onResourceAssigning","onResourceAssigned","onResourceUnassigning","onResourceUnassigned","onCustomCommand","allowTaskAdding","allowTaskDeleting","allowTaskUpdating","allowDependencyAdding","allowDependencyDeleting","allowResourceAdding","allowResourceDeleting","allowResourceUpdating","allowTaskResourceUpdating","validateDependencies","autoUpdateParentTasks","toolbar","contextMenu","getTaskResources","_this16","r","getVisibleTaskKeys","getVisibleDependencyKeys","getVisibleResourceKeys","getVisibleResourceAssignmentKeys","insertTask","deleteTask","updateTask","insertDependency","deleteDependency","getResourceData","deleteResource","insertResource","taskKeys","getResourceAssignmentData","assignResourceToTask","resourceKey","taskKey","unassignResourceFromTask","updateDimensions","_optionChanged","_gantt_importer","_uiGanttTaskArea","_date","_defineProperties","target","props","descriptor","enumerable","configurable","writable","defineProperty","Constructor","protoProps","staticProps","_onSelectionChanged","_onScroll","_onDialogShowing","_onPopupMenuShowing","_taskClick","_taskDblClick","_GanttView","getGanttViewCore","_getTaskTitlePosition","_getFirstDayOfWeek","allowSelectTask","_parseEditingSettings","areHorizontalBordersEnabled","areAlternateRowsEnabled","viewType","_getViewTypeByScaleType","cultureInfo","_getCultureInfo","_selectTask","firstDayOfWeekIndex","taskAreaContainer","barManager","command","getCommand","updateView","updateItemsState","setWidth","selectTaskById","_update","loadOptionsFromGanttOwner","monthNames","getMonthNames","dayNames","getDayNames","abbrMonthNames","abbrDayNames","quarterNames","getQuarterNames","amText","getPeriodNames","pmText","allowDependencyDelete","allowDependencyInsert","allowTaskDelete","allowTaskInsert","allowTaskUpdate","allowResourceDelete","allowResourceInsert","allowResourceUpdate","allowTaskResourceUpdate","setHeight","setShowResources","setTaskTitlePosition","setFirstDayOfWeek","setAllowSelection","setEditingSettings","setValidationSettings","setRowLinesVisible","setViewType","setStripLines","setTaskTooltipContentTemplate","getRowHeight","getHeaderHeight","getGanttTasksData","getGanttDependenciesData","getGanttResourcesData","getGanttResourceAssignmentsData","getGanttWorkTimeRules","getExternalTaskAreaContainer","_taskAreaContainer","TaskAreaContainer","changeGanttTaskSelection","selected","onGanttScroll","showDialog","getModelChangesListener","showPopupMenu","getMainElement","adjustControl","getRequireFirstLoadParentAutoCalc","collapseAll","expandAll","onGanttViewContextMenu","getFormattedDateText","date","result","format","destroyTemplate","empty","_devexpressGantt","Error","_scroll_view","ganttViewWidget","_scrollView","scrollByContent","scrollByThumb","direction","getWidth","offsetWidth","getHeight","getElement","set","scrollLeft","scrollWidth","scrollHeight","_context_menu","_message","_inheritsLoose","COMMANDS","Bar","owner","_owner","_createControl","_createItemsCore","_menu","_createItemByText","_getDefaultItemOptions","text","toLowerCase","_createSeparator","_createDefaultItem","_getIcon","_getItemsCache","_fillCache","forEach","commandId","getCommandKeys","itemsCache","itemKey","parseInt","setItemEnabled","disabled","setItemVisible","visible","setItemValue","_key","_value","setEnabled","updateItemsList","isVisible","isContextMenu","completeUpdate","_Bar","_proto2","onItemClick","itemData","hint","icon","widget","location","stylingMode","_index","_Bar2","_proto3","showEvent","_getDefaultItems","point","_component","_data_helper","DataOption","_Component","loadPanel","dataSourceChangedCallback","_optionName","_dataSourceChangedCallback","_showLoadPanel","done","_hideLoadPanel","fail","error","_dataSourceChangedHandler","newItems","_dataSourceOptions","paginate","_dataSourceLoadingChangedHandler","isLoading","_dataSource","isLoaded","include","_popup","_form","_popupInstance","infoMap","TaskEdit","TaskEditDialogInfo","Resources","ResourcesEditDialogInfo","Confirmation","ConfirmDialogInfo","ConstraintViolation","ConstraintViolationDialogInfo","_apply","_dialogInfo","isValidated","getResult","_callback","editingOptions","_afterClosing","showTitle","getTitle","title","toolbarItems","getToolbarItems","maxWidth","getMaxWidth","contentTemplate","getContentTemplate","DialogInfoBase","applyAction","hideAction","_parameters","_applyAction","_hideAction","_editingOptions","_getFormItems","_getFormCssClass","_getFormData","_updateParameters","_getOkToolbarItem","_getToolbarItem","_getCancelToolbarItem","_getYesToolbarItem","_getNoToolbarItem","localizationText","onClick","content","formData","elementAttr","_DialogInfoBase","readOnly","readOnlyRange","enableRangeEdit","editorType","label","editorOptions","_isReadOnlyField","_isHiddenField","validationRules","message","showSpinButtons","min","max","step","displayExpr","buttons","showResourcesDialogCommand","showTaskEditDialogCommand","start","end","progress","assigned","_this$_form","validationResult","validate","isValid","_DialogInfoBase2","_proto4","allowItemDeleting","itemDeleteMode","selectionMode","noDataText","onInitialized","list","onItemDeleted","textBox","onInput","addButton","getButton","resourceName","newItem","createItem","add","scrollToItem","reset","_DialogInfoBase3","_proto5","_getConfirmMessage","_DialogInfoBase4","_proto6","validationError","critical","cssClass","valueExpr","_timers","keyExpireCallback","_clearTimer","storage","_getCache","extendFromObject","_setExpireTimer","_onKeyExpired","forceCreate","setTimeout","_clearCache","timers","clearTimeout"],"mappings":"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","file":"vendors~8ab51ce9.8f310dc1968313e699c5.bundle.js","sourcesContent":["/**\r\n * DevExtreme (ui/gantt.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _ui = _interopRequireDefault(require(\"./gantt/ui.gantt\"));\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/gantt/ui.gantt.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _data = require(\"../../core/utils/data\");\r\nvar _uiGantt = require(\"./ui.gantt.view\");\r\nvar _uiGantt2 = require(\"./ui.gantt.bars\");\r\nvar _tree_list = _interopRequireDefault(require(\"../tree_list\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _position = require(\"../../core/utils/position\");\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _uiGanttData = _interopRequireDefault(require(\"./ui.gantt.data.option\"));\r\nvar _splitter = _interopRequireDefault(require(\"../splitter\"));\r\nvar _uiGantt3 = require(\"./ui.gantt.dialogs\");\r\nvar _load_panel = _interopRequireDefault(require(\"../load_panel\"));\r\nvar _element = require(\"../../core/element\");\r\nvar _uiGantt4 = require(\"./ui.gantt.cache\");\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 GANTT_CLASS = \"dx-gantt\";\r\nvar GANTT_VIEW_CLASS = \"dx-gantt-view\";\r\nvar GANTT_COLLAPSABLE_ROW = \"dx-gantt-collapsable-row\";\r\nvar GANTT_TREE_LIST_WRAPPER = \"dx-gantt-treelist-wrapper\";\r\nvar GANTT_TOOLBAR_WRAPPER = \"dx-gantt-toolbar-wrapper\";\r\nvar GANTT_MAIN_WRAPPER = \"dx-gantt-main-wrapper\";\r\nvar GANTT_TASKS = \"tasks\";\r\nvar GANTT_DEPENDENCIES = \"dependencies\";\r\nvar GANTT_RESOURCES = \"resources\";\r\nvar GANTT_RESOURCE_ASSIGNMENTS = \"resourceAssignments\";\r\nvar GANTT_NEW_TASK_CACHE_KEY = \"gantt_new_task_key\";\r\nvar GANTT_DEFAULT_ROW_HEIGHT = 34;\r\nvar GANTT_MAPPED_FIELD_REGEX = /(\\w*)Expr/;\r\nvar Gantt = function(_Widget) {\r\n _inheritsLoose(Gantt, _Widget);\r\n\r\n function Gantt() {\r\n return _Widget.apply(this, arguments) || this\r\n }\r\n var _proto = Gantt.prototype;\r\n _proto._init = function() {\r\n _Widget.prototype._init.call(this);\r\n this._cache = new _uiGantt4.GanttDataCache;\r\n this._isGanttRendered = false\r\n };\r\n _proto._initMarkup = function() {\r\n _Widget.prototype._initMarkup.call(this);\r\n this.$element().addClass(GANTT_CLASS);\r\n this._$toolbarWrapper = (0, _renderer.default)(\"
\").addClass(GANTT_TOOLBAR_WRAPPER).appendTo(this.$element());\r\n this._$toolbar = (0, _renderer.default)(\"
\").appendTo(this._$toolbarWrapper);\r\n this._$mainWrapper = (0, _renderer.default)(\"
\").addClass(GANTT_MAIN_WRAPPER).appendTo(this.$element());\r\n this._$treeListWrapper = (0, _renderer.default)(\"
\").addClass(GANTT_TREE_LIST_WRAPPER).appendTo(this._$mainWrapper);\r\n this._$treeList = (0, _renderer.default)(\"
\").appendTo(this._$treeListWrapper);\r\n this._$splitter = (0, _renderer.default)(\"
\").appendTo(this._$mainWrapper);\r\n this._$ganttView = (0, _renderer.default)(\"
\").addClass(GANTT_VIEW_CLASS).appendTo(this._$mainWrapper);\r\n this._$dialog = (0, _renderer.default)(\"
\").appendTo(this.$element());\r\n this._$loadPanel = (0, _renderer.default)(\"
\").appendTo(this.$element());\r\n this._$contextMenu = (0, _renderer.default)(\"
\").appendTo(this.$element());\r\n this._refreshDataSource(GANTT_TASKS);\r\n this._refreshDataSource(GANTT_DEPENDENCIES);\r\n this._refreshDataSource(GANTT_RESOURCES);\r\n this._refreshDataSource(GANTT_RESOURCE_ASSIGNMENTS)\r\n };\r\n _proto._refresh = function() {\r\n this._isGanttRendered = false;\r\n _Widget.prototype._refresh.call(this)\r\n };\r\n _proto._renderContent = function() {\r\n this._isMainElementVisible = this.$element().is(\":visible\");\r\n if (this._isMainElementVisible && !this._isGanttRendered) {\r\n this._isGanttRendered = true;\r\n this._renderBars();\r\n this._renderTreeList();\r\n this._renderSplitter()\r\n }\r\n };\r\n _proto._renderTreeList = function() {\r\n var _this = this;\r\n var _this$option = this.option(GANTT_TASKS),\r\n keyExpr = _this$option.keyExpr,\r\n parentIdExpr = _this$option.parentIdExpr;\r\n this._treeList = this._createComponent(this._$treeList, _tree_list.default, {\r\n dataSource: this._tasksRaw,\r\n keyExpr: keyExpr,\r\n parentIdExpr: parentIdExpr,\r\n columns: this._getTreeListColumns(),\r\n columnResizingMode: \"nextColumn\",\r\n height: this._getTreeListHeight(),\r\n width: this.option(\"taskListWidth\"),\r\n selection: {\r\n mode: this._getSelectionMode(this.option(\"allowSelection\"))\r\n },\r\n selectedRowKeys: this._getArrayFromOneElement(this.option(\"selectedRowKey\")),\r\n sorting: {\r\n mode: \"none\"\r\n },\r\n scrolling: {\r\n showScrollbar: \"onHover\",\r\n mode: \"virtual\"\r\n },\r\n allowColumnResizing: true,\r\n autoExpandAll: true,\r\n showRowLines: this.option(\"showRowLines\"),\r\n rootValue: this.option(\"rootValue\"),\r\n onContentReady: function(e) {\r\n _this._onTreeListContentReady(e)\r\n },\r\n onSelectionChanged: function(e) {\r\n _this._onTreeListSelectionChanged(e)\r\n },\r\n onRowCollapsed: function(e) {\r\n _this._onTreeListRowCollapsed(e)\r\n },\r\n onRowExpanded: function(e) {\r\n _this._onTreeListRowExpanded(e)\r\n },\r\n onRowPrepared: function(e) {\r\n _this._onTreeListRowPrepared(e)\r\n },\r\n onContextMenuPreparing: function(e) {\r\n _this._onTreeListContextMenuPreparing(e)\r\n },\r\n onRowClick: function(e) {\r\n _this._onTreeListRowClick(e)\r\n },\r\n onRowDblClick: function(e) {\r\n _this._onTreeListRowDblClick(e)\r\n }\r\n })\r\n };\r\n _proto._renderSplitter = function() {\r\n this._splitter = this._createComponent(this._$splitter, _splitter.default, {\r\n container: this.$element(),\r\n leftElement: this._$treeListWrapper,\r\n rightElement: this._$ganttView,\r\n onApplyPanelSize: this._onApplyPanelSize.bind(this)\r\n });\r\n this._splitter.option(\"initialLeftPanelWidth\", this.option(\"taskListWidth\"))\r\n };\r\n _proto._renderBars = function() {\r\n this._bars = [];\r\n this._toolbar = new _uiGantt2.GanttToolbar(this._$toolbar, this);\r\n this._updateToolbarContent();\r\n this._bars.push(this._toolbar);\r\n this._contextMenuBar = new _uiGantt2.GanttContextMenuBar(this._$contextMenu, this);\r\n this._updateContextMenu();\r\n this._bars.push(this._contextMenuBar)\r\n };\r\n _proto._initGanttView = function() {\r\n var _this2 = this;\r\n if (this._ganttView) {\r\n return\r\n }\r\n this._ganttView = this._createComponent(this._$ganttView, _uiGantt.GanttView, {\r\n width: \"100%\",\r\n height: this._treeList._$element.get(0).offsetHeight,\r\n rowHeight: this._getTreeListRowHeight(),\r\n headerHeight: this._getTreeListHeaderHeight(),\r\n tasks: this._tasks,\r\n dependencies: this._dependencies,\r\n resources: this._resources,\r\n resourceAssignments: this._resourceAssignments,\r\n allowSelection: this.option(\"allowSelection\"),\r\n selectedRowKey: this.option(\"selectedRowKey\"),\r\n showResources: this.option(\"showResources\"),\r\n taskTitlePosition: this.option(\"taskTitlePosition\"),\r\n firstDayOfWeek: this.option(\"firstDayOfWeek\"),\r\n showRowLines: this.option(\"showRowLines\"),\r\n scaleType: this.option(\"scaleType\"),\r\n editing: this.option(\"editing\"),\r\n validation: this.option(\"validation\"),\r\n stripLines: this.option(\"stripLines\"),\r\n bars: this._bars,\r\n mainElement: this.$element(),\r\n onSelectionChanged: this._onGanttViewSelectionChanged.bind(this),\r\n onScroll: this._onGanttViewScroll.bind(this),\r\n onDialogShowing: this._showDialog.bind(this),\r\n onPopupMenuShowing: this._showPopupMenu.bind(this),\r\n onExpandAll: this._expandAll.bind(this),\r\n onCollapseAll: this._collapseAll.bind(this),\r\n modelChangesListener: this._createModelChangesListener(),\r\n taskTooltipContentTemplate: this._getTaskTooltipContentTemplateFunc(this.option(\"taskTooltipContentTemplate\")),\r\n onTaskClick: function(e) {\r\n _this2._onTreeListRowClick(e)\r\n },\r\n onTaskDblClick: function(e) {\r\n _this2._onTreeListRowDblClick(e)\r\n },\r\n onAdjustControl: function() {\r\n _this2._onAdjustControl()\r\n }\r\n });\r\n this._fireContentReadyAction()\r\n };\r\n _proto._onAdjustControl = function() {\r\n var elementHeight = this._$element.height();\r\n this._updateGanttWidth();\r\n this._setGanttHeight(elementHeight)\r\n };\r\n _proto._onApplyPanelSize = function(e) {\r\n var _this$_ganttView;\r\n this._setInnerElementsWidth(e);\r\n var rowHeight = this._getTreeListRowHeight();\r\n null === (_this$_ganttView = this._ganttView) || void 0 === _this$_ganttView ? void 0 : _this$_ganttView._ganttViewCore.updateRowHeights(rowHeight)\r\n };\r\n _proto._onTreeListContentReady = function(e) {\r\n if (e.component.getDataSource()) {\r\n this._initGanttView();\r\n this._initScrollSync(e.component)\r\n }\r\n };\r\n _proto._onTreeListRowPrepared = function(e) {\r\n if (\"data\" === e.rowType && e.node.children.length > 0) {\r\n (0, _renderer.default)(e.rowElement).addClass(GANTT_COLLAPSABLE_ROW)\r\n }\r\n };\r\n _proto._onTreeListContextMenuPreparing = function(e) {\r\n var _e$row, _e$row2;\r\n if (\"data\" === (null === (_e$row = e.row) || void 0 === _e$row ? void 0 : _e$row.rowType)) {\r\n this._setTreeListOption(\"selectedRowKeys\", [e.row.data[this.option(\"tasks.keyExpr\")]])\r\n }\r\n e.items = [];\r\n var info = {\r\n cancel: false,\r\n event: e.event,\r\n type: \"task\",\r\n key: null === (_e$row2 = e.row) || void 0 === _e$row2 ? void 0 : _e$row2.key,\r\n position: {\r\n x: e.event.pageX,\r\n y: e.event.pageY\r\n }\r\n };\r\n this._showPopupMenu(info)\r\n };\r\n _proto._onTreeListRowClick = function(e) {\r\n this._raiseTaskClickAction(e.key, e.event)\r\n };\r\n _proto._onTreeListRowDblClick = function(e) {\r\n if (this._raiseTaskDblClickAction(e.key, e.event)) {\r\n this._ganttView._ganttViewCore.commandManager.showTaskEditDialog.execute()\r\n }\r\n };\r\n _proto._onTreeListSelectionChanged = function(e) {\r\n var selectedRowKey = e.currentSelectedRowKeys[0];\r\n this._setGanttViewOption(\"selectedRowKey\", selectedRowKey);\r\n this._setOptionWithoutOptionChange(\"selectedRowKey\", selectedRowKey);\r\n this._raiseSelectionChangedAction(selectedRowKey)\r\n };\r\n _proto._onTreeListRowCollapsed = function(e) {\r\n this._ganttView.changeTaskExpanded(e.key, false);\r\n this._adjustHeight()\r\n };\r\n _proto._onTreeListRowExpanded = function(e) {\r\n this._ganttView.changeTaskExpanded(e.key, true);\r\n this._adjustHeight()\r\n };\r\n _proto._adjustHeight = function() {\r\n if (!this._hasHeight) {\r\n this._setGanttViewOption(\"height\", 0);\r\n this._setGanttViewOption(\"height\", this._treeList._$element.get(0).offsetHeight)\r\n }\r\n };\r\n _proto._getTreeListHeight = function() {\r\n if (this._$treeList.height()) {\r\n return this._$treeList.height()\r\n }\r\n this._hasHeight = (0, _type.isDefined)(this.option(\"height\")) && \"\" !== this.option(\"height\");\r\n return this._hasHeight ? \"100%\" : \"\"\r\n };\r\n _proto._getTreeListColumns = function() {\r\n var columns = this.option(\"columns\");\r\n if (columns) {\r\n for (var i = 0; i < columns.length; i++) {\r\n var column = columns[i];\r\n var isKeyColumn = column.dataField === this.option(\"\".concat(GANTT_TASKS, \".keyExpr\")) || column.dataField === this.option(\"\".concat(GANTT_TASKS, \".parentIdExpr\"));\r\n if (isKeyColumn && !column.dataType) {\r\n column.dataType = \"object\"\r\n }\r\n }\r\n }\r\n return columns\r\n };\r\n _proto._onGanttViewSelectionChanged = function(e) {\r\n this._setTreeListOption(\"selectedRowKeys\", this._getArrayFromOneElement(e.id))\r\n };\r\n _proto._onGanttViewScroll = function(e) {\r\n var treeListScrollable = this._treeList.getScrollable();\r\n if (treeListScrollable) {\r\n var diff = e.scrollTop - treeListScrollable.scrollTop();\r\n if (0 !== diff) {\r\n treeListScrollable.scrollBy({\r\n left: 0,\r\n top: diff\r\n })\r\n }\r\n }\r\n };\r\n _proto._onTreeListScroll = function(treeListScrollView) {\r\n var ganttViewTaskAreaContainer = this._ganttView.getTaskAreaContainer();\r\n if (ganttViewTaskAreaContainer.scrollTop !== treeListScrollView.component.scrollTop()) {\r\n ganttViewTaskAreaContainer.scrollTop = treeListScrollView.component.scrollTop()\r\n }\r\n };\r\n _proto._expandAll = function() {\r\n var _this3 = this;\r\n this._treeList.forEachNode(function(node) {\r\n if (node.children && node.children.length) {\r\n _this3._treeList.expandRow(node.key);\r\n _this3._ganttView.changeTaskExpanded(node.key, true)\r\n }\r\n })\r\n };\r\n _proto._collapseAll = function() {\r\n var _this4 = this;\r\n this._treeList.forEachNode(function(node) {\r\n if (node.children && node.children.length) {\r\n _this4._treeList.collapseRow(node.key);\r\n _this4._ganttView.changeTaskExpanded(node.key, false)\r\n }\r\n })\r\n };\r\n _proto._initScrollSync = function(treeList) {\r\n var _this5 = this;\r\n var treeListScrollable = treeList.getScrollable();\r\n if (treeListScrollable) {\r\n treeListScrollable.off(\"scroll\");\r\n treeListScrollable.on(\"scroll\", function(e) {\r\n _this5._onTreeListScroll(e)\r\n })\r\n }\r\n };\r\n _proto._getTreeListRowHeight = function() {\r\n var $row = this._treeList._$element.find(\".dx-data-row\");\r\n var height = $row.length ? (0, _position.getBoundingRect)($row.last().get(0)).height : GANTT_DEFAULT_ROW_HEIGHT;\r\n if (!height) {\r\n height = GANTT_DEFAULT_ROW_HEIGHT\r\n }\r\n this._correctRowsViewRowHeight(height);\r\n return height\r\n };\r\n _proto._correctRowsViewRowHeight = function(height) {\r\n var view = this._treeList._views && this._treeList._views.rowsView;\r\n if ((null === view || void 0 === view ? void 0 : view._rowHeight) !== height) {\r\n view._rowHeight = height\r\n }\r\n };\r\n _proto._getTreeListHeaderHeight = function() {\r\n return (0, _position.getBoundingRect)(this._treeList._$element.find(\".dx-treelist-headers\").get(0)).height\r\n };\r\n _proto._setInnerElementsWidth = function(widths) {\r\n if (!(0, _window.hasWindow)()) {\r\n return\r\n }\r\n if (!widths) {\r\n widths = this._getPanelsWidthByOption()\r\n }\r\n this._setTreeListDimension(\"width\", widths.leftPanelWidth);\r\n this._setGanttViewDimension(\"width\", widths.rightPanelWidth)\r\n };\r\n _proto._setTreeListDimension = function(dimension, value) {\r\n this._$treeListWrapper[dimension](value);\r\n this._setTreeListOption(dimension, this._$treeListWrapper[dimension]())\r\n };\r\n _proto._setGanttViewDimension = function(dimension, value) {\r\n this._$ganttView[dimension](value);\r\n this._setGanttViewOption(dimension, this._$ganttView[dimension]())\r\n };\r\n _proto._updateGanttWidth = function() {\r\n this._splitter._dimensionChanged()\r\n };\r\n _proto._setGanttHeight = function(height) {\r\n var _this$_ganttView2;\r\n var toolbarHeightOffset = this._$toolbarWrapper.get(0).offsetHeight;\r\n var mainWrapperHeight = height - toolbarHeightOffset;\r\n this._setTreeListDimension(\"height\", mainWrapperHeight);\r\n this._setGanttViewDimension(\"height\", mainWrapperHeight);\r\n null === (_this$_ganttView2 = this._ganttView) || void 0 === _this$_ganttView2 ? void 0 : _this$_ganttView2._ganttViewCore.resetAndUpdate()\r\n };\r\n _proto._getPanelsWidthByOption = function() {\r\n return {\r\n leftPanelWidth: this.option(\"taskListWidth\"),\r\n rightPanelWidth: this._$element.width() - this.option(\"taskListWidth\")\r\n }\r\n };\r\n _proto._setGanttViewOption = function(optionName, value) {\r\n this._ganttView && this._ganttView.option(optionName, value)\r\n };\r\n _proto._setTreeListOption = function(optionName, value) {\r\n this._treeList && this._treeList.option(optionName, value)\r\n };\r\n _proto._refreshDataSource = function(name) {\r\n var _this6 = this;\r\n var dataOption = this[\"_\".concat(name, \"Option\")];\r\n if (dataOption) {\r\n dataOption._disposeDataSource();\r\n delete this[\"_\".concat(name, \"Option\")];\r\n delete this[\"_\".concat(name)]\r\n }\r\n if (this.option(\"\".concat(name, \".dataSource\"))) {\r\n dataOption = new _uiGanttData.default(name, this._getLoadPanel(), function(name, data) {\r\n _this6._dataSourceChanged(name, data)\r\n });\r\n dataOption.option(\"dataSource\", this._getSpecificDataSourceOption(name));\r\n dataOption._refreshDataSource();\r\n this[\"_\".concat(name, \"Option\")] = dataOption\r\n }\r\n };\r\n _proto._getSpecificDataSourceOption = function(name) {\r\n var dataSource = this.option(\"\".concat(name, \".dataSource\"));\r\n if (Array.isArray(dataSource)) {\r\n return {\r\n store: {\r\n type: \"array\",\r\n data: dataSource,\r\n key: this.option(\"\".concat(name, \".keyExpr\"))\r\n }\r\n }\r\n }\r\n return dataSource\r\n };\r\n _proto._compileGettersByOption = function(optionName) {\r\n var getters = {};\r\n var optionValue = this.option(optionName);\r\n for (var field in optionValue) {\r\n var exprMatches = field.match(/(\\w*)Expr/);\r\n if (exprMatches) {\r\n getters[exprMatches[1]] = (0, _data.compileGetter)(optionValue[exprMatches[0]])\r\n }\r\n }\r\n return getters\r\n };\r\n _proto._compileSettersByOption = function(optionName) {\r\n var setters = {};\r\n var optionValue = this.option(optionName);\r\n for (var field in optionValue) {\r\n var exprMatches = field.match(/(\\w*)Expr/);\r\n if (exprMatches) {\r\n setters[exprMatches[1]] = (0, _data.compileSetter)(optionValue[exprMatches[0]])\r\n }\r\n }\r\n return setters\r\n };\r\n _proto._getStoreObject = function(optionName, modelObject) {\r\n var setters = this._compileSettersByOption(optionName);\r\n return Object.keys(setters).reduce(function(previous, key) {\r\n if (\"key\" !== key) {\r\n setters[key](previous, modelObject[key])\r\n }\r\n return previous\r\n }, {})\r\n };\r\n _proto._prepareSetterMapHandler = function(setters) {\r\n return function(data) {\r\n return Object.keys(setters).reduce(function(previous, key) {\r\n var resultKey = \"key\" === key ? \"id\" : key;\r\n setters[key](previous, data[resultKey]);\r\n return previous\r\n }, {})\r\n }\r\n };\r\n _proto._prepareMapHandler = function(getters) {\r\n return function(data) {\r\n return Object.keys(getters).reduce(function(previous, key) {\r\n var resultKey = \"key\" === key ? \"id\" : key;\r\n previous[resultKey] = getters[key](data);\r\n return previous\r\n }, {})\r\n }\r\n };\r\n _proto._dataSourceChanged = function(dataSourceName, data) {\r\n var _this7 = this;\r\n var getters = this._compileGettersByOption(dataSourceName);\r\n var mappedData = data.map(this._prepareMapHandler(getters));\r\n this[\"_\".concat(dataSourceName)] = mappedData;\r\n this._setGanttViewOption(dataSourceName, mappedData);\r\n if (dataSourceName === GANTT_TASKS) {\r\n this._tasksRaw = data;\r\n var expandedRowKeys = data.map(function(t) {\r\n return t[_this7.option(\"tasks.parentIdExpr\")]\r\n }).filter(function(value, index, self) {\r\n return value && self.indexOf(value) === index\r\n });\r\n this._setTreeListOption(\"expandedRowKeys\", expandedRowKeys);\r\n this._setTreeListOption(\"dataSource\", data)\r\n }\r\n };\r\n _proto._createModelChangesListener = function() {\r\n var _this8 = this;\r\n return {\r\n NotifyTaskCreated: function(task, callback, errorCallback) {\r\n _this8._onRecordInserted(GANTT_TASKS, task, callback)\r\n },\r\n NotifyTaskRemoved: function(taskId, errorCallback, task) {\r\n _this8._onRecordRemoved(GANTT_TASKS, taskId, task)\r\n },\r\n NotifyTaskTitleChanged: function(taskId, newValue, errorCallback) {\r\n _this8._onRecordUpdated(GANTT_TASKS, taskId, \"title\", newValue)\r\n },\r\n NotifyTaskDescriptionChanged: function(taskId, newValue, errorCallback) {\r\n _this8._onRecordUpdated(GANTT_TASKS, taskId, \"description\", newValue)\r\n },\r\n NotifyTaskStartChanged: function(taskId, newValue, errorCallback) {\r\n _this8._onRecordUpdated(GANTT_TASKS, taskId, \"start\", newValue)\r\n },\r\n NotifyTaskEndChanged: function(taskId, newValue, errorCallback) {\r\n _this8._onRecordUpdated(GANTT_TASKS, taskId, \"end\", newValue)\r\n },\r\n NotifyTaskProgressChanged: function(taskId, newValue, errorCallback) {\r\n _this8._onRecordUpdated(GANTT_TASKS, taskId, \"progress\", newValue)\r\n },\r\n NotifyTaskColorChanged: function(taskId, newValue, errorCallback) {\r\n _this8._onRecordUpdated(GANTT_TASKS, taskId, \"color\", newValue)\r\n },\r\n NotifyDependencyInserted: function(dependency, callback, errorCallback) {\r\n _this8._onRecordInserted(GANTT_DEPENDENCIES, dependency, callback)\r\n },\r\n NotifyDependencyRemoved: function(dependencyId, errorCallback, dependency) {\r\n _this8._onRecordRemoved(GANTT_DEPENDENCIES, dependencyId, dependency)\r\n },\r\n NotifyResourceCreated: function(resource, callback, errorCallback) {\r\n _this8._onRecordInserted(GANTT_RESOURCES, resource, callback)\r\n },\r\n NotifyResourceRemoved: function(resourceId, errorCallback, resource) {\r\n _this8._onRecordRemoved(GANTT_RESOURCES, resourceId, resource)\r\n },\r\n NotifyResourceAssigned: function(assignment, callback, errorCallback) {\r\n _this8._onRecordInserted(GANTT_RESOURCE_ASSIGNMENTS, assignment, callback)\r\n },\r\n NotifyResourceUnassigned: function(assignmentId, errorCallback, assignment) {\r\n _this8._onRecordRemoved(GANTT_RESOURCE_ASSIGNMENTS, assignmentId, assignment)\r\n },\r\n NotifyParentDataRecalculated: function(data) {\r\n _this8._onParentTasksRecalculated(data)\r\n },\r\n NotifyTaskCreating: function(args) {\r\n _this8._raiseInsertingAction(GANTT_TASKS, args)\r\n },\r\n NotifyTaskRemoving: function(args) {\r\n _this8._raiseDeletingAction(GANTT_TASKS, args)\r\n },\r\n NotifyTaskUpdating: function(args) {\r\n _this8._raiseUpdatingAction(GANTT_TASKS, args)\r\n },\r\n NotifyTaskMoving: function(args) {\r\n _this8._raiseUpdatingAction(GANTT_TASKS, args, _this8._getTaskMovingAction())\r\n },\r\n NotifyTaskEditDialogShowing: function(args) {\r\n _this8._raiseTaskEditDialogShowingAction(args)\r\n },\r\n NotifyDependencyInserting: function(args) {\r\n _this8._raiseInsertingAction(GANTT_DEPENDENCIES, args)\r\n },\r\n NotifyDependencyRemoving: function(args) {\r\n _this8._raiseDeletingAction(GANTT_DEPENDENCIES, args)\r\n },\r\n NotifyResourceCreating: function(args) {\r\n _this8._raiseInsertingAction(GANTT_RESOURCES, args)\r\n },\r\n NotifyResourceRemoving: function(args) {\r\n _this8._raiseDeletingAction(GANTT_RESOURCES, args)\r\n },\r\n NotifyResourceAssigning: function(args) {\r\n _this8._raiseInsertingAction(GANTT_RESOURCE_ASSIGNMENTS, args)\r\n },\r\n NotifyResourceUnassigning: function(args) {\r\n _this8._raiseDeletingAction(GANTT_RESOURCE_ASSIGNMENTS, args)\r\n }\r\n }\r\n };\r\n _proto._onRecordInserted = function(optionName, record, callback) {\r\n var _this9 = this;\r\n var dataOption = this[\"_\".concat(optionName, \"Option\")];\r\n if (dataOption) {\r\n var data = this._getStoreObject(optionName, record);\r\n if (optionName === GANTT_TASKS) {\r\n this._addCustomFieldsDataFromCache(GANTT_NEW_TASK_CACHE_KEY, data)\r\n }\r\n dataOption.insert(data, function(response) {\r\n var keyGetter = (0, _data.compileGetter)(_this9.option(\"\".concat(optionName, \".keyExpr\")));\r\n var insertedId = keyGetter(response);\r\n callback(insertedId);\r\n if (optionName === GANTT_TASKS) {\r\n _this9._updateTreeListDataSource();\r\n var parentId = record.parentId;\r\n if (void 0 !== parentId) {\r\n var expandedRowKeys = _this9._treeList.option(\"expandedRowKeys\");\r\n if (expandedRowKeys.indexOf(parentId) === -1) {\r\n expandedRowKeys.push(parentId);\r\n _this9._treeList.option(\"expandedRowKeys\", expandedRowKeys)\r\n }\r\n }\r\n _this9._selectTreeListRows(_this9._getArrayFromOneElement(insertedId));\r\n _this9._setTreeListOption(\"focusedRowKey\", insertedId)\r\n }\r\n _this9._raiseInsertedAction(optionName, data, insertedId)\r\n })\r\n }\r\n };\r\n _proto._onRecordRemoved = function(optionName, key, data) {\r\n var _this10 = this;\r\n var dataOption = this[\"_\".concat(optionName, \"Option\")];\r\n if (dataOption) {\r\n dataOption.remove(key, function() {\r\n if (optionName === GANTT_TASKS) {\r\n _this10._updateTreeListDataSource()\r\n }\r\n _this10._raiseDeletedAction(optionName, key, _this10._convertCoreToMappedData(optionName, data))\r\n })\r\n }\r\n };\r\n _proto._onRecordUpdated = function(optionName, key, fieldName, value) {\r\n var _this11 = this;\r\n var dataOption = this[\"_\".concat(optionName, \"Option\")];\r\n var isTaskUpdated = optionName === GANTT_TASKS;\r\n if (dataOption) {\r\n var setter = (0, _data.compileSetter)(this.option(\"\".concat(optionName, \".\").concat(fieldName, \"Expr\")));\r\n var data = {};\r\n setter(data, value);\r\n var hasCustomFieldsData = isTaskUpdated && this._cache.hasData(key);\r\n if (hasCustomFieldsData) {\r\n this._addCustomFieldsDataFromCache(key, data)\r\n }\r\n dataOption.update(key, data, function() {\r\n if (isTaskUpdated) {\r\n if (hasCustomFieldsData) {\r\n dataOption._refreshDataSource()\r\n }\r\n _this11._updateTreeListDataSource()\r\n }\r\n _this11._raiseUpdatedAction(optionName, data, key)\r\n })\r\n }\r\n };\r\n _proto._onParentTasksRecalculated = function(data) {\r\n var setters = this._compileSettersByOption(GANTT_TASKS);\r\n var treeDataSource = this._appendCustomFields(data.map(this._prepareSetterMapHandler(setters)));\r\n this._setTreeListOption(\"dataSource\", treeDataSource)\r\n };\r\n _proto._appendCustomFields = function(data) {\r\n var modelData = this._tasksOption && this._tasksOption._getItems();\r\n var keyGetter = (0, _data.compileGetter)(this.option(\"\".concat(GANTT_TASKS, \".keyExpr\")));\r\n var invertedData = this.getInvertedData(modelData, keyGetter);\r\n return data.reduce(function(previous, item) {\r\n var key = keyGetter(item);\r\n var modelItem = invertedData[key];\r\n if (!modelItem) {\r\n previous.push(item)\r\n } else {\r\n var updatedItem = {};\r\n for (var field in modelItem) {\r\n updatedItem[field] = Object.prototype.hasOwnProperty.call(item, field) ? item[field] : modelItem[field]\r\n }\r\n previous.push(updatedItem)\r\n }\r\n return previous\r\n }, [])\r\n };\r\n _proto.getInvertedData = function(data, keyGetter) {\r\n var inverted = {};\r\n if (data) {\r\n for (var i = 0; i < data.length; i++) {\r\n var dataItem = data[i];\r\n var key = keyGetter(dataItem);\r\n inverted[key] = dataItem\r\n }\r\n }\r\n return inverted\r\n };\r\n _proto._updateTreeListDataSource = function() {\r\n if (!this._skipUpdateTreeListDataSource()) {\r\n var dataSource = this.option(\"tasks.dataSource\");\r\n var storeArray = this._tasksOption._getStore()._array || dataSource.items && dataSource.items();\r\n this._setTreeListOption(\"dataSource\", storeArray ? storeArray : dataSource)\r\n }\r\n };\r\n _proto._skipUpdateTreeListDataSource = function() {\r\n return this.option(\"validation.autoUpdateParentTasks\")\r\n };\r\n _proto._selectTreeListRows = function(keys) {\r\n var _this$_treeList;\r\n null === (_this$_treeList = this._treeList) || void 0 === _this$_treeList ? void 0 : _this$_treeList.selectRows(keys)\r\n };\r\n _proto._addCustomFieldsDataFromCache = function(key, data) {\r\n this._cache.pullDataFromCache(key, data)\r\n };\r\n _proto._saveCustomFieldsDataToCache = function(key, data) {\r\n var _this12 = this;\r\n var forceUpdateOnKeyExpire = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : false;\r\n var customFieldsData = this._getCustomFieldsData(data);\r\n if (Object.keys(customFieldsData).length > 0) {\r\n var updateCallback = function(key, data) {\r\n var dataOption = _this12[\"_\".concat(GANTT_TASKS, \"Option\")];\r\n if (dataOption && data) {\r\n dataOption.update(key, data, function() {\r\n _this12._updateTreeListDataSource();\r\n dataOption._refreshDataSource()\r\n })\r\n }\r\n };\r\n this._cache.saveData(key, customFieldsData, forceUpdateOnKeyExpire ? updateCallback : null)\r\n }\r\n };\r\n _proto._getLoadPanel = function() {\r\n if (!this._loadPanel) {\r\n this._loadPanel = this._createComponent(this._$loadPanel, _load_panel.default, {\r\n position: {\r\n of: this.$element()\r\n }\r\n })\r\n }\r\n return this._loadPanel\r\n };\r\n _proto._createSelectionChangedAction = function() {\r\n this._selectionChangedAction = this._createActionByOption(\"onSelectionChanged\")\r\n };\r\n _proto._createTaskClickAction = function() {\r\n this._taskClickAction = this._createActionByOption(\"onTaskClick\")\r\n };\r\n _proto._createTaskDblClickAction = function() {\r\n this._taskDblClickAction = this._createActionByOption(\"onTaskDblClick\")\r\n };\r\n _proto._createCustomCommandAction = function() {\r\n this._customCommandAction = this._createActionByOption(\"onCustomCommand\")\r\n };\r\n _proto._createContextMenuPreparingAction = function() {\r\n this._contextMenuPreparingAction = this._createActionByOption(\"onContextMenuPreparing\")\r\n };\r\n _proto._raiseSelectionChangedAction = function(selectedRowKey) {\r\n if (!this._selectionChangedAction) {\r\n this._createSelectionChangedAction()\r\n }\r\n this._selectionChangedAction({\r\n selectedRowKey: selectedRowKey\r\n })\r\n };\r\n _proto._raiseCustomCommand = function(commandName) {\r\n if (!this._customCommandAction) {\r\n this._createCustomCommandAction()\r\n }\r\n this._customCommandAction({\r\n name: commandName\r\n })\r\n };\r\n _proto._raiseContextMenuPreparing = function(options) {\r\n if (!this._contextMenuPreparingAction) {\r\n this._createContextMenuPreparingAction()\r\n }\r\n this._contextMenuPreparingAction(options)\r\n };\r\n _proto._raiseInsertingAction = function(optionName, coreArgs) {\r\n var action = this._getInsertingAction(optionName);\r\n if (action) {\r\n var args = {\r\n cancel: false,\r\n values: this._convertCoreToMappedData(optionName, coreArgs.values)\r\n };\r\n action(args);\r\n coreArgs.cancel = args.cancel;\r\n coreArgs.values = this._convertMappedToCoreData(optionName, args.values);\r\n if (optionName === GANTT_TASKS) {\r\n this._saveCustomFieldsDataToCache(GANTT_NEW_TASK_CACHE_KEY, args.values)\r\n }\r\n }\r\n };\r\n _proto._raiseInsertedAction = function(optionName, data, key) {\r\n var action = this._getInsertedAction(optionName);\r\n if (action) {\r\n var args = {\r\n values: data,\r\n key: key\r\n };\r\n action(args)\r\n }\r\n };\r\n _proto._raiseDeletingAction = function(optionName, coreArgs) {\r\n var action = this._getDeletingAction(optionName);\r\n if (action) {\r\n var args = {\r\n cancel: false,\r\n key: coreArgs.key,\r\n values: this._convertCoreToMappedData(optionName, coreArgs.values)\r\n };\r\n action(args);\r\n coreArgs.cancel = args.cancel\r\n }\r\n };\r\n _proto._raiseDeletedAction = function(optionName, key, data) {\r\n var action = this._getDeletedAction(optionName);\r\n if (action) {\r\n var args = {\r\n key: key,\r\n values: data\r\n };\r\n action(args)\r\n }\r\n };\r\n _proto._raiseUpdatingAction = function(optionName, coreArgs, action) {\r\n action = action || this._getUpdatingAction(optionName);\r\n if (action) {\r\n var args = {\r\n cancel: false,\r\n key: coreArgs.key,\r\n newValues: this._convertCoreToMappedData(optionName, coreArgs.newValues),\r\n values: this._convertCoreToMappedData(optionName, coreArgs.values)\r\n };\r\n action(args);\r\n coreArgs.cancel = args.cancel;\r\n coreArgs.newValues = this._convertMappedToCoreData(optionName, args.newValues);\r\n if (optionName === GANTT_TASKS) {\r\n this._saveCustomFieldsDataToCache(args.key, args.newValues)\r\n }\r\n }\r\n };\r\n _proto._raiseUpdatedAction = function(optionName, data, key) {\r\n var action = this._getUpdatedAction(optionName);\r\n if (action) {\r\n var args = {\r\n values: data,\r\n key: key\r\n };\r\n action(args)\r\n }\r\n };\r\n _proto._raiseTaskEditDialogShowingAction = function(coreArgs) {\r\n var action = this._getTaskEditDialogShowingAction();\r\n if (action) {\r\n var args = {\r\n cancel: false,\r\n key: coreArgs.key,\r\n values: this._convertCoreToMappedData(GANTT_TASKS, coreArgs.values),\r\n readOnlyFields: this._convertCoreToMappedFields(GANTT_TASKS, coreArgs.readOnlyFields),\r\n hiddenFields: this._convertCoreToMappedFields(GANTT_TASKS, coreArgs.hiddenFields)\r\n };\r\n action(args);\r\n coreArgs.cancel = args.cancel;\r\n coreArgs.values = this._convertMappedToCoreData(GANTT_TASKS, args.values);\r\n coreArgs.readOnlyFields = this._convertMappedToCoreFields(GANTT_TASKS, args.readOnlyFields);\r\n coreArgs.hiddenFields = this._convertMappedToCoreFields(GANTT_TASKS, args.hiddenFields)\r\n }\r\n };\r\n _proto._raiseTaskClickAction = function(key, event) {\r\n if (!this._taskClickAction) {\r\n this._createTaskClickAction()\r\n }\r\n var args = {\r\n key: key,\r\n event: event,\r\n data: this.getTaskData(key)\r\n };\r\n this._taskClickAction(args)\r\n };\r\n _proto._raiseTaskDblClickAction = function(key, event) {\r\n if (!this._taskDblClickAction) {\r\n this._createTaskDblClickAction()\r\n }\r\n var args = {\r\n cancel: false,\r\n data: this.getTaskData(key),\r\n event: event,\r\n key: key\r\n };\r\n this._taskDblClickAction(args);\r\n return !args.cancel\r\n };\r\n _proto._getInsertingAction = function(optionName) {\r\n switch (optionName) {\r\n case GANTT_TASKS:\r\n return this._getTaskInsertingAction();\r\n case GANTT_DEPENDENCIES:\r\n return this._getDependencyInsertingAction();\r\n case GANTT_RESOURCES:\r\n return this._getResourceInsertingAction();\r\n case GANTT_RESOURCE_ASSIGNMENTS:\r\n return this._getResourceAssigningAction()\r\n }\r\n return function() {}\r\n };\r\n _proto._getInsertedAction = function(optionName) {\r\n switch (optionName) {\r\n case GANTT_TASKS:\r\n return this._getTaskInsertedAction();\r\n case GANTT_DEPENDENCIES:\r\n return this._getDependencyInsertedAction();\r\n case GANTT_RESOURCES:\r\n return this._getResourceInsertedAction();\r\n case GANTT_RESOURCE_ASSIGNMENTS:\r\n return this._getResourceAssignedAction()\r\n }\r\n return function() {}\r\n };\r\n _proto._getDeletingAction = function(optionName) {\r\n switch (optionName) {\r\n case GANTT_TASKS:\r\n return this._getTaskDeletingAction();\r\n case GANTT_DEPENDENCIES:\r\n return this._getDependencyDeletingAction();\r\n case GANTT_RESOURCES:\r\n return this._getResourceDeletingAction();\r\n case GANTT_RESOURCE_ASSIGNMENTS:\r\n return this._getResourceUnassigningAction()\r\n }\r\n return function() {}\r\n };\r\n _proto._getDeletedAction = function(optionName) {\r\n switch (optionName) {\r\n case GANTT_TASKS:\r\n return this._getTaskDeletedAction();\r\n case GANTT_DEPENDENCIES:\r\n return this._getDependencyDeletedAction();\r\n case GANTT_RESOURCES:\r\n return this._getResourceDeletedAction();\r\n case GANTT_RESOURCE_ASSIGNMENTS:\r\n return this._getResourceUnassignedAction()\r\n }\r\n return function() {}\r\n };\r\n _proto._getUpdatingAction = function(optionName) {\r\n switch (optionName) {\r\n case GANTT_TASKS:\r\n return this._getTaskUpdatingAction()\r\n }\r\n return function() {}\r\n };\r\n _proto._getUpdatedAction = function(optionName) {\r\n switch (optionName) {\r\n case GANTT_TASKS:\r\n return this._getTaskUpdatedAction()\r\n }\r\n return function() {}\r\n };\r\n _proto._getTaskInsertingAction = function() {\r\n if (!this._taskInsertingAction) {\r\n this._createTaskInsertingAction()\r\n }\r\n return this._taskInsertingAction\r\n };\r\n _proto._getTaskInsertedAction = function() {\r\n if (!this._taskInsertedAction) {\r\n this._createTaskInsertedAction()\r\n }\r\n return this._taskInsertedAction\r\n };\r\n _proto._getTaskDeletingAction = function() {\r\n if (!this._taskDeletingAction) {\r\n this._createTaskDeletingAction()\r\n }\r\n return this._taskDeletingAction\r\n };\r\n _proto._getTaskDeletedAction = function() {\r\n if (!this._taskDeletedAction) {\r\n this._createTaskDeletedAction()\r\n }\r\n return this._taskDeletedAction\r\n };\r\n _proto._getTaskUpdatingAction = function() {\r\n if (!this._taskUpdatingAction) {\r\n this._createTaskUpdatingAction()\r\n }\r\n return this._taskUpdatingAction\r\n };\r\n _proto._getTaskUpdatedAction = function() {\r\n if (!this._taskUpdatedAction) {\r\n this._createTaskUpdatedAction()\r\n }\r\n return this._taskUpdatedAction\r\n };\r\n _proto._getTaskMovingAction = function() {\r\n if (!this._taskMovingAction) {\r\n this._createTaskMovingAction()\r\n }\r\n return this._taskMovingAction\r\n };\r\n _proto._getTaskEditDialogShowingAction = function() {\r\n if (!this._taskEditDialogShowingAction) {\r\n this._createTaskEditDialogShowingAction()\r\n }\r\n return this._taskEditDialogShowingAction\r\n };\r\n _proto._getDependencyInsertingAction = function() {\r\n if (!this._dependencyInsertingAction) {\r\n this._createDependencyInsertingAction()\r\n }\r\n return this._dependencyInsertingAction\r\n };\r\n _proto._getDependencyInsertedAction = function() {\r\n if (!this._dependencyInsertedAction) {\r\n this._createDependencyInsertedAction()\r\n }\r\n return this._dependencyInsertedAction\r\n };\r\n _proto._getDependencyDeletingAction = function() {\r\n if (!this._dependencyDeletingAction) {\r\n this._createDependencyDeletingAction()\r\n }\r\n return this._dependencyDeletingAction\r\n };\r\n _proto._getDependencyDeletedAction = function() {\r\n if (!this._dependencyDeletedAction) {\r\n this._createDependencyDeletedAction()\r\n }\r\n return this._dependencyDeletedAction\r\n };\r\n _proto._getResourceInsertingAction = function() {\r\n if (!this._resourceInsertingAction) {\r\n this._createResourceInsertingAction()\r\n }\r\n return this._resourceInsertingAction\r\n };\r\n _proto._getResourceInsertedAction = function() {\r\n if (!this._resourceInsertedAction) {\r\n this._createResourceInsertedAction()\r\n }\r\n return this._resourceInsertedAction\r\n };\r\n _proto._getResourceDeletingAction = function() {\r\n if (!this._resourceDeletingAction) {\r\n this._createResourceDeletingAction()\r\n }\r\n return this._resourceDeletingAction\r\n };\r\n _proto._getResourceDeletedAction = function() {\r\n if (!this._resourceDeletedAction) {\r\n this._createResourceDeletedAction()\r\n }\r\n return this._resourceDeletedAction\r\n };\r\n _proto._getResourceAssigningAction = function() {\r\n if (!this._resourceAssigningAction) {\r\n this._createResourceAssigningAction()\r\n }\r\n return this._resourceAssigningAction\r\n };\r\n _proto._getResourceAssignedAction = function() {\r\n if (!this._resourceAssignedAction) {\r\n this._createResourceAssignedAction()\r\n }\r\n return this._resourceAssignedAction\r\n };\r\n _proto._getResourceUnassigningAction = function() {\r\n if (!this._resourceUnassigningAction) {\r\n this._createResourceUnassigningAction()\r\n }\r\n return this._resourceUnassigningAction\r\n };\r\n _proto._getResourceUnassignedAction = function() {\r\n if (!this._resourceUnassignedAction) {\r\n this._createResourceUnassignedAction()\r\n }\r\n return this._resourceUnassignedAction\r\n };\r\n _proto._createResourceUnassigningAction = function() {\r\n this._resourceUnassigningAction = this._createActionByOption(\"onResourceUnassigning\")\r\n };\r\n _proto._createResourceUnassignedAction = function() {\r\n this._resourceUnassignedAction = this._createActionByOption(\"onResourceUnassigned\")\r\n };\r\n _proto._createTaskInsertingAction = function() {\r\n this._taskInsertingAction = this._createActionByOption(\"onTaskInserting\")\r\n };\r\n _proto._createTaskInsertedAction = function() {\r\n this._taskInsertedAction = this._createActionByOption(\"onTaskInserted\")\r\n };\r\n _proto._createTaskDeletingAction = function() {\r\n this._taskDeletingAction = this._createActionByOption(\"onTaskDeleting\")\r\n };\r\n _proto._createTaskDeletedAction = function() {\r\n this._taskDeletedAction = this._createActionByOption(\"onTaskDeleted\")\r\n };\r\n _proto._createTaskUpdatingAction = function() {\r\n this._taskUpdatingAction = this._createActionByOption(\"onTaskUpdating\")\r\n };\r\n _proto._createTaskUpdatedAction = function() {\r\n this._taskUpdatedAction = this._createActionByOption(\"onTaskUpdated\")\r\n };\r\n _proto._createTaskMovingAction = function() {\r\n this._taskMovingAction = this._createActionByOption(\"onTaskMoving\")\r\n };\r\n _proto._createTaskEditDialogShowingAction = function() {\r\n this._taskEditDialogShowingAction = this._createActionByOption(\"onTaskEditDialogShowing\")\r\n };\r\n _proto._createDependencyInsertingAction = function() {\r\n this._dependencyInsertingAction = this._createActionByOption(\"onDependencyInserting\")\r\n };\r\n _proto._createDependencyInsertedAction = function() {\r\n this._dependencyInsertedAction = this._createActionByOption(\"onDependencyInserted\")\r\n };\r\n _proto._createDependencyDeletingAction = function() {\r\n this._dependencyDeletingAction = this._createActionByOption(\"onDependencyDeleting\")\r\n };\r\n _proto._createDependencyDeletedAction = function() {\r\n this._dependencyDeletedAction = this._createActionByOption(\"onDependencyDeleted\")\r\n };\r\n _proto._createResourceInsertingAction = function() {\r\n this._resourceInsertingAction = this._createActionByOption(\"onResourceInserting\")\r\n };\r\n _proto._createResourceInsertedAction = function() {\r\n this._resourceInsertedAction = this._createActionByOption(\"onResourceInserted\")\r\n };\r\n _proto._createResourceDeletingAction = function() {\r\n this._resourceDeletingAction = this._createActionByOption(\"onResourceDeleting\")\r\n };\r\n _proto._createResourceDeletedAction = function() {\r\n this._resourceDeletedAction = this._createActionByOption(\"onResourceDeleted\")\r\n };\r\n _proto._createResourceAssigningAction = function() {\r\n this._resourceAssigningAction = this._createActionByOption(\"onResourceAssigning\")\r\n };\r\n _proto._createResourceAssignedAction = function() {\r\n this._resourceAssignedAction = this._createActionByOption(\"onResourceAssigned\")\r\n };\r\n _proto._convertCoreToMappedData = function(optionName, coreData) {\r\n var _this13 = this;\r\n return Object.keys(coreData).reduce(function(previous, f) {\r\n var mappedField = _this13._getMappedFieldName(optionName, f);\r\n if (mappedField) {\r\n var setter = (0, _data.compileSetter)(mappedField);\r\n setter(previous, coreData[f])\r\n }\r\n return previous\r\n }, {})\r\n };\r\n _proto._convertMappedToCoreData = function(optionName, mappedData) {\r\n var coreData = {};\r\n if (mappedData) {\r\n var mappedFields = this.option(optionName);\r\n for (var field in mappedFields) {\r\n var exprMatches = field.match(GANTT_MAPPED_FIELD_REGEX);\r\n var mappedFieldName = exprMatches && mappedFields[exprMatches[0]];\r\n if (mappedFieldName && void 0 !== mappedData[mappedFieldName]) {\r\n var getter = (0, _data.compileGetter)(mappedFieldName);\r\n var coreFieldName = exprMatches[1];\r\n coreData[coreFieldName] = getter(mappedData)\r\n }\r\n }\r\n }\r\n return coreData\r\n };\r\n _proto._getMappedFieldName = function(optionName, coreField) {\r\n var coreFieldName = coreField;\r\n if (\"id\" === coreField) {\r\n coreFieldName = \"key\"\r\n }\r\n return this.option(\"\".concat(optionName, \".\").concat(coreFieldName, \"Expr\"))\r\n };\r\n _proto._convertCoreToMappedFields = function(optionName, fields) {\r\n var _this14 = this;\r\n return fields.reduce(function(previous, f) {\r\n var mappedField = _this14._getMappedFieldName(optionName, f);\r\n if (mappedField) {\r\n previous.push(mappedField)\r\n }\r\n return previous\r\n }, [])\r\n };\r\n _proto._convertMappedToCoreFields = function(optionName, fields) {\r\n var coreFields = [];\r\n var mappedFields = this.option(optionName);\r\n for (var field in mappedFields) {\r\n var exprMatches = field.match(GANTT_MAPPED_FIELD_REGEX);\r\n var mappedFieldName = exprMatches && mappedFields[exprMatches[0]];\r\n if (mappedFieldName && fields.indexOf(mappedFieldName) > -1) {\r\n var coreFieldName = exprMatches[1];\r\n coreFields.push(coreFieldName)\r\n }\r\n }\r\n return coreFields\r\n };\r\n _proto._getTaskMappedFieldNames = function() {\r\n var mappedFields = [];\r\n var mappedFieldsData = this.option(GANTT_TASKS);\r\n for (var field in mappedFieldsData) {\r\n var exprMatches = field.match(GANTT_MAPPED_FIELD_REGEX);\r\n var mappedFieldName = exprMatches && mappedFieldsData[exprMatches[0]];\r\n if (mappedFieldName) {\r\n mappedFields.push(mappedFieldName)\r\n }\r\n }\r\n return mappedFields\r\n };\r\n _proto._getTaskCustomFields = function() {\r\n var columns = this.option(\"columns\");\r\n var columnFields = columns && columns.map(function(c) {\r\n return c.dataField\r\n });\r\n var mappedFields = this._getTaskMappedFieldNames();\r\n return columnFields ? columnFields.filter(function(f) {\r\n return mappedFields.indexOf(f) < 0\r\n }) : []\r\n };\r\n _proto._getCustomFieldsData = function(data) {\r\n return this._getTaskCustomFields().reduce(function(previous, field) {\r\n if (data && void 0 !== data[field]) {\r\n previous[field] = data[field]\r\n }\r\n return previous\r\n }, {})\r\n };\r\n _proto._addCustomFieldsData = function(key, data) {\r\n if (data) {\r\n var modelData = this._tasksOption && this._tasksOption._getItems();\r\n var keyGetter = (0, _data.compileGetter)(this.option(\"\".concat(GANTT_TASKS, \".keyExpr\")));\r\n var modelItem = modelData && modelData.filter(function(obj) {\r\n return keyGetter(obj) === key\r\n })[0];\r\n var customFields = this._getTaskCustomFields();\r\n for (var i = 0; i < customFields.length; i++) {\r\n var field = customFields[i];\r\n if (Object.prototype.hasOwnProperty.call(modelItem, field)) {\r\n data[field] = modelItem[field]\r\n }\r\n }\r\n }\r\n };\r\n _proto._getSelectionMode = function(allowSelection) {\r\n return allowSelection ? \"single\" : \"none\"\r\n };\r\n _proto._getArrayFromOneElement = function(element) {\r\n return void 0 === element || null === element ? [] : [element]\r\n };\r\n _proto._getToolbarItems = function() {\r\n var items = this.option(\"toolbar.items\");\r\n return items ? items : []\r\n };\r\n _proto._updateToolbarContent = function() {\r\n var items = this._getToolbarItems();\r\n if (items.length) {\r\n this._$toolbarWrapper.show()\r\n } else {\r\n this._$toolbarWrapper.hide()\r\n }\r\n this._toolbar && this._toolbar.createItems(items);\r\n this._updateBarItemsState()\r\n };\r\n _proto._updateContextMenu = function() {\r\n var contextMenuOptions = this.option(\"contextMenu\");\r\n if (contextMenuOptions.enabled && this._contextMenuBar) {\r\n this._contextMenuBar.createItems(contextMenuOptions.items);\r\n this._updateBarItemsState()\r\n }\r\n };\r\n _proto._updateBarItemsState = function() {\r\n this._ganttView && this._ganttView.updateBarItemsState()\r\n };\r\n _proto._showDialog = function(e) {\r\n if (!this._dialogInstance) {\r\n this._dialogInstance = new _uiGantt3.GanttDialog(this, this._$dialog)\r\n }\r\n this._dialogInstance.show(e.name, e.parameters, e.callback, e.afterClosing, this.option(\"editing\"))\r\n };\r\n _proto._showPopupMenu = function(info) {\r\n if (this.option(\"contextMenu.enabled\")) {\r\n this._ganttView.getBarManager().updateContextMenu();\r\n var args = {\r\n cancel: false,\r\n event: info.event,\r\n targetType: info.type,\r\n targetKey: info.key,\r\n items: (0, _extend.extend)(true, [], this._contextMenuBar._items),\r\n data: \"task\" === info.type ? this.getTaskData(info.key) : this.getDependencyData(info.key)\r\n };\r\n this._raiseContextMenuPreparing(args);\r\n if (!args.cancel) {\r\n this._contextMenuBar.show(info.position, args.items)\r\n }\r\n }\r\n };\r\n _proto._executeCoreCommand = function(id) {\r\n this._ganttView.executeCoreCommand(id)\r\n };\r\n _proto._clean = function() {\r\n var _this$_ganttView3;\r\n null === (_this$_ganttView3 = this._ganttView) || void 0 === _this$_ganttView3 ? void 0 : _this$_ganttView3._ganttViewCore.cleanMarkup();\r\n delete this._ganttView;\r\n delete this._dialogInstance;\r\n _Widget.prototype._clean.call(this)\r\n };\r\n _proto._getTaskTooltipContentTemplateFunc = function(taskTooltipContentTemplateOption) {\r\n var _this15 = this;\r\n var isTooltipShowing = true;\r\n var template = taskTooltipContentTemplateOption && this._getTemplate(taskTooltipContentTemplateOption);\r\n var createTemplateFunction = template && function(container, item) {\r\n template.render({\r\n model: _this15.getTaskDataByCoreData(item),\r\n container: (0, _element.getPublicElement)((0, _renderer.default)(container))\r\n });\r\n return isTooltipShowing\r\n };\r\n return createTemplateFunction\r\n };\r\n _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), {\r\n tasks: {\r\n dataSource: null,\r\n keyExpr: \"id\",\r\n parentIdExpr: \"parentId\",\r\n startExpr: \"start\",\r\n endExpr: \"end\",\r\n progressExpr: \"progress\",\r\n titleExpr: \"title\",\r\n colorExpr: \"color\"\r\n },\r\n dependencies: {\r\n dataSource: null,\r\n keyExpr: \"id\",\r\n predecessorIdExpr: \"predecessorId\",\r\n successorIdExpr: \"successorId\",\r\n typeExpr: \"type\"\r\n },\r\n resources: {\r\n dataSource: null,\r\n keyExpr: \"id\",\r\n textExpr: \"text\",\r\n colorExpr: \"color\"\r\n },\r\n resourceAssignments: {\r\n dataSource: null,\r\n keyExpr: \"id\",\r\n taskIdExpr: \"taskId\",\r\n resourceIdExpr: \"resourceId\"\r\n },\r\n columns: void 0,\r\n taskListWidth: 300,\r\n showResources: true,\r\n taskTitlePosition: \"inside\",\r\n firstDayOfWeek: void 0,\r\n selectedRowKey: void 0,\r\n onSelectionChanged: null,\r\n onTaskClick: null,\r\n onTaskDblClick: null,\r\n onTaskInserting: null,\r\n onTaskInserted: null,\r\n onTaskDeleting: null,\r\n onTaskDeleted: null,\r\n onTaskUpdating: null,\r\n onTaskUpdated: null,\r\n onTaskMoving: null,\r\n onTaskEditDialogShowing: null,\r\n onDependencyInserting: null,\r\n onDependencyInserted: null,\r\n onDependencyDeleting: null,\r\n onDependencyDeleted: null,\r\n onResourceInserting: null,\r\n onResourceInserted: null,\r\n onResourceDeleting: null,\r\n onResourceDeleted: null,\r\n onResourceAssigning: null,\r\n onResourceAssigned: null,\r\n onResourceUnassigning: null,\r\n onResourceUnassigned: null,\r\n onCustomCommand: null,\r\n onContextMenuPreparing: null,\r\n allowSelection: true,\r\n showRowLines: true,\r\n stripLines: void 0,\r\n scaleType: \"auto\",\r\n editing: {\r\n enabled: false,\r\n allowTaskAdding: true,\r\n allowTaskDeleting: true,\r\n allowTaskUpdating: true,\r\n allowDependencyAdding: true,\r\n allowDependencyDeleting: true,\r\n allowResourceAdding: true,\r\n allowResourceDeleting: true,\r\n allowResourceUpdating: true,\r\n allowTaskResourceUpdating: true\r\n },\r\n validation: {\r\n validateDependencies: false,\r\n autoUpdateParentTasks: false\r\n },\r\n toolbar: null,\r\n contextMenu: {\r\n enabled: true,\r\n items: void 0\r\n },\r\n taskTooltipContentTemplate: null,\r\n rootValue: 0\r\n })\r\n };\r\n _proto.getTaskResources = function(key) {\r\n var _this16 = this;\r\n if (!(0, _type.isDefined)(key)) {\r\n return null\r\n }\r\n var coreData = this._ganttView._ganttViewCore.getTaskResources(key);\r\n return coreData.map(function(r) {\r\n return _this16._convertCoreToMappedData(GANTT_RESOURCES, r)\r\n })\r\n };\r\n _proto.getVisibleTaskKeys = function() {\r\n return this._ganttView._ganttViewCore.getVisibleTaskKeys()\r\n };\r\n _proto.getVisibleDependencyKeys = function() {\r\n return this._ganttView._ganttViewCore.getVisibleDependencyKeys()\r\n };\r\n _proto.getVisibleResourceKeys = function() {\r\n return this._ganttView._ganttViewCore.getVisibleResourceKeys()\r\n };\r\n _proto.getVisibleResourceAssignmentKeys = function() {\r\n return this._ganttView._ganttViewCore.getVisibleResourceAssignmentKeys()\r\n };\r\n _proto.getTaskData = function(key) {\r\n if (!(0, _type.isDefined)(key)) {\r\n return null\r\n }\r\n var coreData = this._ganttView._ganttViewCore.getTaskData(key);\r\n var mappedData = this.getTaskDataByCoreData(coreData);\r\n return mappedData\r\n };\r\n _proto.getTaskDataByCoreData = function(coreData) {\r\n var mappedData = coreData ? this._convertCoreToMappedData(GANTT_TASKS, coreData) : null;\r\n this._addCustomFieldsData(coreData.id, mappedData);\r\n return mappedData\r\n };\r\n _proto.insertTask = function(data) {\r\n this._saveCustomFieldsDataToCache(GANTT_NEW_TASK_CACHE_KEY, data);\r\n this._ganttView._ganttViewCore.insertTask(this._convertMappedToCoreData(GANTT_TASKS, data))\r\n };\r\n _proto.deleteTask = function(key) {\r\n this._ganttView._ganttViewCore.deleteTask(key)\r\n };\r\n _proto.updateTask = function(key, data) {\r\n this._saveCustomFieldsDataToCache(key, data, true);\r\n this._ganttView._ganttViewCore.updateTask(key, this._convertMappedToCoreData(GANTT_TASKS, data))\r\n };\r\n _proto.getDependencyData = function(key) {\r\n if (!(0, _type.isDefined)(key)) {\r\n return null\r\n }\r\n var coreData = this._ganttView._ganttViewCore.getDependencyData(key);\r\n return coreData ? this._convertCoreToMappedData(GANTT_DEPENDENCIES, coreData) : null\r\n };\r\n _proto.insertDependency = function(data) {\r\n this._ganttView._ganttViewCore.insertDependency(this._convertMappedToCoreData(GANTT_DEPENDENCIES, data))\r\n };\r\n _proto.deleteDependency = function(key) {\r\n this._ganttView._ganttViewCore.deleteDependency(key)\r\n };\r\n _proto.getResourceData = function(key) {\r\n var coreData = this._ganttView._ganttViewCore.getResourceData(key);\r\n return coreData ? this._convertCoreToMappedData(GANTT_RESOURCES, coreData) : null\r\n };\r\n _proto.deleteResource = function(key) {\r\n this._ganttView._ganttViewCore.deleteResource(key)\r\n };\r\n _proto.insertResource = function(data, taskKeys) {\r\n this._ganttView._ganttViewCore.insertResource(this._convertMappedToCoreData(GANTT_RESOURCES, data), taskKeys)\r\n };\r\n _proto.getResourceAssignmentData = function(key) {\r\n var coreData = this._ganttView._ganttViewCore.getResourceAssignmentData(key);\r\n return coreData ? this._convertCoreToMappedData(GANTT_RESOURCE_ASSIGNMENTS, coreData) : null\r\n };\r\n _proto.assignResourceToTask = function(resourceKey, taskKey) {\r\n this._ganttView._ganttViewCore.assignResourceToTask(resourceKey, taskKey)\r\n };\r\n _proto.unassignResourceFromTask = function(resourceKey, taskKey) {\r\n this._ganttView._ganttViewCore.unassignResourceFromTask(resourceKey, taskKey)\r\n };\r\n _proto.updateDimensions = function() {\r\n this._onAdjustControl()\r\n };\r\n _proto._optionChanged = function(args) {\r\n switch (args.name) {\r\n case \"tasks\":\r\n this._refreshDataSource(GANTT_TASKS);\r\n break;\r\n case \"dependencies\":\r\n this._refreshDataSource(GANTT_DEPENDENCIES);\r\n break;\r\n case \"resources\":\r\n this._refreshDataSource(GANTT_RESOURCES);\r\n break;\r\n case \"resourceAssignments\":\r\n this._refreshDataSource(GANTT_RESOURCE_ASSIGNMENTS);\r\n break;\r\n case \"columns\":\r\n this._setTreeListOption(\"columns\", this._getTreeListColumns());\r\n break;\r\n case \"taskListWidth\":\r\n this._setInnerElementsWidth();\r\n break;\r\n case \"showResources\":\r\n this._setGanttViewOption(\"showResources\", args.value);\r\n break;\r\n case \"taskTitlePosition\":\r\n this._setGanttViewOption(\"taskTitlePosition\", args.value);\r\n break;\r\n case \"firstDayOfWeek\":\r\n this._setGanttViewOption(\"firstDayOfWeek\", args.value);\r\n break;\r\n case \"selectedRowKey\":\r\n this._selectTreeListRows(this._getArrayFromOneElement(args.value));\r\n break;\r\n case \"onSelectionChanged\":\r\n this._createSelectionChangedAction();\r\n break;\r\n case \"onTaskClick\":\r\n this._createTaskClickAction();\r\n break;\r\n case \"onTaskDblClick\":\r\n this._createTaskDblClickAction();\r\n break;\r\n case \"onTaskInserting\":\r\n this._createTaskInsertingAction();\r\n break;\r\n case \"onTaskInserted\":\r\n this._createTaskInsertedAction();\r\n break;\r\n case \"onTaskDeleting\":\r\n this._createTaskDeletingAction();\r\n break;\r\n case \"onTaskDeleted\":\r\n this._createTaskDeletedAction();\r\n break;\r\n case \"onTaskUpdating\":\r\n this._createTaskUpdatingAction();\r\n break;\r\n case \"onTaskUpdated\":\r\n this._createTaskUpdatedAction();\r\n break;\r\n case \"onTaskMoving\":\r\n this._createTaskMovingAction();\r\n break;\r\n case \"onTaskEditDialogShowing\":\r\n this._createTaskEditDialogShowingAction();\r\n break;\r\n case \"onDependencyInserting\":\r\n this._createDependencyInsertingAction();\r\n break;\r\n case \"onDependencyInserted\":\r\n this._createDependencyInsertedAction();\r\n break;\r\n case \"onDependencyDeleting\":\r\n this._createDependencyDeletingAction();\r\n break;\r\n case \"onDependencyDeleted\":\r\n this._createDependencyDeletedAction();\r\n break;\r\n case \"onResourceInserting\":\r\n this._createResourceInsertingAction();\r\n break;\r\n case \"onResourceInserted\":\r\n this._createResourceInsertedAction();\r\n break;\r\n case \"onResourceDeleting\":\r\n this._createResourceDeletingAction();\r\n break;\r\n case \"onResourceDeleted\":\r\n this._createResourceDeletedAction();\r\n break;\r\n case \"onResourceAssigning\":\r\n this._createResourceAssigningAction();\r\n break;\r\n case \"onResourceAssigned\":\r\n this._createResourceAssignedAction();\r\n break;\r\n case \"onResourceUnassigning\":\r\n this._createResourceUnassigningAction();\r\n break;\r\n case \"onResourceUnassigned\":\r\n this._createResourceUnassignedAction();\r\n break;\r\n case \"onCustomCommand\":\r\n this._createCustomCommandAction();\r\n break;\r\n case \"onContextMenuPreparing\":\r\n this._createContextMenuPreparingAction();\r\n break;\r\n case \"allowSelection\":\r\n this._setTreeListOption(\"selection.mode\", this._getSelectionMode(args.value));\r\n this._setGanttViewOption(\"allowSelection\", args.value);\r\n break;\r\n case \"showRowLines\":\r\n this._setTreeListOption(\"showRowLines\", args.value);\r\n this._setGanttViewOption(\"showRowLines\", args.value);\r\n break;\r\n case \"stripLines\":\r\n this._setGanttViewOption(\"stripLines\", args.value);\r\n break;\r\n case \"scaleType\":\r\n this._setGanttViewOption(\"scaleType\", args.value);\r\n break;\r\n case \"editing\":\r\n this._setGanttViewOption(\"editing\", this.option(args.name));\r\n break;\r\n case \"validation\":\r\n this._setGanttViewOption(\"validation\", this.option(args.name));\r\n break;\r\n case \"toolbar\":\r\n this._updateToolbarContent();\r\n break;\r\n case \"contextMenu\":\r\n this._updateContextMenu();\r\n break;\r\n case \"taskTooltipContentTemplate\":\r\n this._setGanttViewOption(\"taskTooltipContentTemplate\", this._getTaskTooltipContentTemplateFunc(args.value));\r\n break;\r\n case \"rootValue\":\r\n this._setTreeListOption(\"rootValue\", args.value);\r\n break;\r\n case \"width\":\r\n _Widget.prototype._optionChanged.call(this, args);\r\n this._updateGanttWidth();\r\n break;\r\n case \"height\":\r\n _Widget.prototype._optionChanged.call(this, args);\r\n this._setGanttHeight(this._$element.height());\r\n break;\r\n default:\r\n _Widget.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n return Gantt\r\n}(_ui.default);\r\n(0, _component_registrator.default)(\"dxGantt\", Gantt);\r\nvar _default = Gantt;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/gantt/ui.gantt.view.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.GanttView = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _gantt_importer = require(\"./gantt_importer\");\r\nvar _uiGanttTaskArea = require(\"./ui.gantt.task.area.container\");\r\nvar _date = _interopRequireDefault(require(\"../../localization/date\"));\r\nvar _type = require(\"../../core/utils/type\");\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 _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, descriptor.key, descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n return Constructor\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 GanttView = function(_Widget) {\r\n _inheritsLoose(GanttView, _Widget);\r\n\r\n function GanttView() {\r\n return _Widget.apply(this, arguments) || this\r\n }\r\n var _proto = GanttView.prototype;\r\n _proto._init = function() {\r\n _Widget.prototype._init.call(this);\r\n this._onSelectionChanged = this._createActionByOption(\"onSelectionChanged\");\r\n this._onScroll = this._createActionByOption(\"onScroll\");\r\n this._onDialogShowing = this._createActionByOption(\"onDialogShowing\");\r\n this._onPopupMenuShowing = this._createActionByOption(\"onPopupMenuShowing\");\r\n this._expandAll = this._createActionByOption(\"onExpandAll\");\r\n this._collapseAll = this._createActionByOption(\"onCollapseAll\");\r\n this._taskClick = this._createActionByOption(\"onTaskClick\");\r\n this._taskDblClick = this._createActionByOption(\"onTaskDblClick\");\r\n this._onAdjustControl = this._createActionByOption(\"onAdjustControl\")\r\n };\r\n _proto._initMarkup = function() {\r\n var _GanttView = (0, _gantt_importer.getGanttViewCore)();\r\n this._ganttViewCore = new _GanttView(this.$element().get(0), this, {\r\n showResources: this.option(\"showResources\"),\r\n taskTitlePosition: this._getTaskTitlePosition(this.option(\"taskTitlePosition\")),\r\n firstDayOfWeek: this._getFirstDayOfWeek(this.option(\"firstDayOfWeek\")),\r\n allowSelectTask: this.option(\"allowSelection\"),\r\n editing: this._parseEditingSettings(this.option(\"editing\")),\r\n validation: this.option(\"validation\"),\r\n stripLines: {\r\n stripLines: this.option(\"stripLines\")\r\n },\r\n areHorizontalBordersEnabled: this.option(\"showRowLines\"),\r\n areAlternateRowsEnabled: false,\r\n viewType: this._getViewTypeByScaleType(this.option(\"scaleType\")),\r\n cultureInfo: this._getCultureInfo(),\r\n taskTooltipContentTemplate: this.option(\"taskTooltipContentTemplate\")\r\n });\r\n this._selectTask(this.option(\"selectedRowKey\"));\r\n this.updateBarItemsState()\r\n };\r\n _proto._getFirstDayOfWeek = function(value) {\r\n return (0, _type.isDefined)(value) ? value : _date.default.firstDayOfWeekIndex()\r\n };\r\n _proto.getTaskAreaContainer = function() {\r\n return this._ganttViewCore.taskAreaContainer\r\n };\r\n _proto.getBarManager = function() {\r\n return this._ganttViewCore.barManager\r\n };\r\n _proto.executeCoreCommand = function(id) {\r\n var command = this._ganttViewCore.commandManager.getCommand(id);\r\n if (command) {\r\n command.execute()\r\n }\r\n };\r\n _proto.changeTaskExpanded = function(id, value) {\r\n this._ganttViewCore.changeTaskExpanded(id, value)\r\n };\r\n _proto.updateView = function() {\r\n this._ganttViewCore.updateView()\r\n };\r\n _proto.updateBarItemsState = function() {\r\n this._ganttViewCore.barManager.updateItemsState([])\r\n };\r\n _proto.setWidth = function(value) {\r\n this._ganttViewCore.setWidth(value)\r\n };\r\n _proto._selectTask = function(id) {\r\n this._ganttViewCore.selectTaskById(id)\r\n };\r\n _proto._update = function() {\r\n this._ganttViewCore.loadOptionsFromGanttOwner();\r\n this._ganttViewCore.resetAndUpdate()\r\n };\r\n _proto._getCultureInfo = function() {\r\n return {\r\n monthNames: _date.default.getMonthNames(\"wide\"),\r\n dayNames: _date.default.getDayNames(\"wide\"),\r\n abbrMonthNames: _date.default.getMonthNames(\"abbreviated\"),\r\n abbrDayNames: _date.default.getDayNames(\"abbreviated\"),\r\n quarterNames: _date.default.getQuarterNames(),\r\n amText: _date.default.getPeriodNames()[0],\r\n pmText: _date.default.getPeriodNames()[1]\r\n }\r\n };\r\n _proto._getTaskTitlePosition = function(value) {\r\n switch (value) {\r\n case \"outside\":\r\n return 1;\r\n case \"none\":\r\n return 2;\r\n default:\r\n return 0\r\n }\r\n };\r\n _proto._getViewTypeByScaleType = function(scaleType) {\r\n switch (scaleType) {\r\n case \"minutes\":\r\n return 0;\r\n case \"hours\":\r\n return 1;\r\n case \"days\":\r\n return 3;\r\n case \"weeks\":\r\n return 4;\r\n case \"months\":\r\n return 5;\r\n case \"quarters\":\r\n return 6;\r\n case \"years\":\r\n return 7;\r\n default:\r\n return\r\n }\r\n };\r\n _proto._parseEditingSettings = function(value) {\r\n return {\r\n enabled: value.enabled,\r\n allowDependencyDelete: value.allowDependencyDeleting,\r\n allowDependencyInsert: value.allowDependencyAdding,\r\n allowTaskDelete: value.allowTaskDeleting,\r\n allowTaskInsert: value.allowTaskAdding,\r\n allowTaskUpdate: value.allowTaskUpdating,\r\n allowResourceDelete: value.allowResourceDeleting,\r\n allowResourceInsert: value.allowResourceAdding,\r\n allowResourceUpdate: value.allowResourceUpdating,\r\n allowTaskResourceUpdate: value.allowTaskResourceUpdating\r\n }\r\n };\r\n _proto._optionChanged = function(args) {\r\n switch (args.name) {\r\n case \"width\":\r\n _Widget.prototype._optionChanged.call(this, args);\r\n this._ganttViewCore.setWidth(args.value);\r\n break;\r\n case \"height\":\r\n this._ganttViewCore.setHeight(args.value);\r\n break;\r\n case \"tasks\":\r\n case \"dependencies\":\r\n case \"resources\":\r\n case \"resourceAssignments\":\r\n this._update();\r\n break;\r\n case \"showResources\":\r\n this._ganttViewCore.setShowResources(args.value);\r\n break;\r\n case \"taskTitlePosition\":\r\n this._ganttViewCore.setTaskTitlePosition(this._getTaskTitlePosition(args.value));\r\n break;\r\n case \"firstDayOfWeek\":\r\n this._ganttViewCore.setFirstDayOfWeek(this._getFirstDayOfWeek(args.value));\r\n break;\r\n case \"allowSelection\":\r\n this._ganttViewCore.setAllowSelection(args.value);\r\n break;\r\n case \"selectedRowKey\":\r\n this._selectTask(args.value);\r\n break;\r\n case \"editing\":\r\n this._ganttViewCore.setEditingSettings(this._parseEditingSettings(args.value));\r\n break;\r\n case \"validation\":\r\n this._ganttViewCore.setValidationSettings(args.value);\r\n this._update();\r\n break;\r\n case \"showRowLines\":\r\n this._ganttViewCore.setRowLinesVisible(args.value);\r\n break;\r\n case \"scaleType\":\r\n this._ganttViewCore.setViewType(this._getViewTypeByScaleType(args.value));\r\n break;\r\n case \"stripLines\":\r\n this._ganttViewCore.setStripLines({\r\n stripLines: args.value\r\n });\r\n break;\r\n case \"taskTooltipContentTemplate\":\r\n this._ganttViewCore.setTaskTooltipContentTemplate(args.value);\r\n break;\r\n default:\r\n _Widget.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n _proto.getRowHeight = function() {\r\n return this.option(\"rowHeight\")\r\n };\r\n _proto.getHeaderHeight = function() {\r\n return this.option(\"headerHeight\")\r\n };\r\n _proto.getGanttTasksData = function() {\r\n return this.option(\"tasks\")\r\n };\r\n _proto.getGanttDependenciesData = function() {\r\n return this.option(\"dependencies\")\r\n };\r\n _proto.getGanttResourcesData = function() {\r\n return this.option(\"resources\")\r\n };\r\n _proto.getGanttResourceAssignmentsData = function() {\r\n return this.option(\"resourceAssignments\")\r\n };\r\n _proto.getGanttWorkTimeRules = function() {\r\n return {}\r\n };\r\n _proto.getExternalTaskAreaContainer = function(element) {\r\n if (!this._taskAreaContainer) {\r\n this._taskAreaContainer = new _uiGanttTaskArea.TaskAreaContainer(element, this)\r\n }\r\n return this._taskAreaContainer\r\n };\r\n _proto.changeGanttTaskSelection = function(id, selected) {\r\n this._onSelectionChanged({\r\n id: id,\r\n selected: selected\r\n })\r\n };\r\n _proto.onGanttScroll = function(scrollTop) {\r\n this._onScroll({\r\n scrollTop: scrollTop\r\n })\r\n };\r\n _proto.showDialog = function(name, parameters, callback, afterClosing) {\r\n this._onDialogShowing({\r\n name: name,\r\n parameters: parameters,\r\n callback: callback,\r\n afterClosing: afterClosing\r\n })\r\n };\r\n _proto.getModelChangesListener = function() {\r\n return this.option(\"modelChangesListener\")\r\n };\r\n _proto.showPopupMenu = function(info) {\r\n this._onPopupMenuShowing(info)\r\n };\r\n _proto.getMainElement = function() {\r\n return this.option(\"mainElement\").get(0)\r\n };\r\n _proto.adjustControl = function() {\r\n this._onAdjustControl()\r\n };\r\n _proto.getRequireFirstLoadParentAutoCalc = function() {\r\n return this.option(\"validation.autoUpdateParentTasks\")\r\n };\r\n _proto.collapseAll = function() {\r\n this._collapseAll()\r\n };\r\n _proto.expandAll = function() {\r\n this._expandAll()\r\n };\r\n _proto.onTaskClick = function(key, event) {\r\n this._taskClick({\r\n key: key,\r\n event: event\r\n });\r\n return true\r\n };\r\n _proto.onTaskDblClick = function(key, event) {\r\n return this._taskDblClick({\r\n key: key,\r\n event: event\r\n })\r\n };\r\n _proto.onGanttViewContextMenu = function(event, key, type) {\r\n return true\r\n };\r\n _proto.getFormattedDateText = function(date) {\r\n var result = \"\";\r\n if (date) {\r\n var datePart = _date.default.format(date, \"shortDate\");\r\n var timePart = _date.default.format(date, \"hh:mm\");\r\n result = datePart + \" \" + timePart\r\n }\r\n return result\r\n };\r\n _proto.destroyTemplate = function(container) {\r\n (0, _renderer.default)(container).empty()\r\n };\r\n _createClass(GanttView, [{\r\n key: \"bars\",\r\n get: function() {\r\n return this.option(\"bars\")\r\n }\r\n }]);\r\n return GanttView\r\n}(_ui.default);\r\nexports.GanttView = GanttView;\r\n","/**\r\n * DevExtreme (ui/gantt/gantt_importer.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getGanttViewCore = getGanttViewCore;\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.errors\"));\r\nvar _devexpressGantt = _interopRequireDefault(require(\"devexpress-gantt\"));\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 getGanttViewCore() {\r\n if (!_devexpressGantt.default) {\r\n throw _ui.default.Error(\"E1041\", \"devexpress-gantt\")\r\n }\r\n return _devexpressGantt.default\r\n}\r\n","/**\r\n * DevExtreme (ui/gantt/ui.gantt.task.area.container.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.TaskAreaContainer = void 0;\r\nvar _scroll_view = _interopRequireDefault(require(\"../scroll_view\"));\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 _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, descriptor.key, descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n return Constructor\r\n}\r\nvar TaskAreaContainer = function() {\r\n function TaskAreaContainer(element, ganttViewWidget) {\r\n this._element = element;\r\n this._scrollView = ganttViewWidget._createComponent(this._element, _scroll_view.default, {\r\n scrollByContent: false,\r\n scrollByThumb: true,\r\n showScrollbar: \"onHover\",\r\n direction: \"both\",\r\n onScroll: function() {\r\n ganttViewWidget.updateView()\r\n }\r\n })\r\n }\r\n var _proto = TaskAreaContainer.prototype;\r\n _proto.getWidth = function() {\r\n return this._element.offsetWidth\r\n };\r\n _proto.getHeight = function() {\r\n return this._element.offsetHeight\r\n };\r\n _proto.getElement = function() {\r\n return this._element\r\n };\r\n _createClass(TaskAreaContainer, [{\r\n key: \"scrollTop\",\r\n get: function() {\r\n return this._scrollView.scrollTop()\r\n },\r\n set: function(value) {\r\n var diff = value - this._scrollView.scrollTop();\r\n if (0 !== diff) {\r\n this._scrollView.scrollBy({\r\n left: 0,\r\n top: diff\r\n })\r\n }\r\n }\r\n }, {\r\n key: \"scrollLeft\",\r\n get: function() {\r\n return this._scrollView.scrollLeft()\r\n },\r\n set: function(value) {\r\n var diff = value - this._scrollView.scrollLeft();\r\n if (0 !== diff) {\r\n this._scrollView.scrollBy({\r\n left: diff,\r\n top: 0\r\n })\r\n }\r\n }\r\n }, {\r\n key: \"scrollWidth\",\r\n get: function() {\r\n return this._scrollView.scrollWidth()\r\n }\r\n }, {\r\n key: \"scrollHeight\",\r\n get: function() {\r\n return this._scrollView.scrollHeight()\r\n }\r\n }, {\r\n key: \"isExternal\",\r\n get: function() {\r\n return true\r\n }\r\n }]);\r\n return TaskAreaContainer\r\n}();\r\nexports.TaskAreaContainer = TaskAreaContainer;\r\n","/**\r\n * DevExtreme (ui/gantt/ui.gantt.bars.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.GanttContextMenuBar = exports.GanttToolbar = 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 _message = _interopRequireDefault(require(\"../../localization/message\"));\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 TOOLBAR_SEPARATOR_CLASS = \"dx-gantt-toolbar-separator\";\r\nvar COMMANDS = {\r\n createTask: 0,\r\n createSubTask: 1,\r\n removeTask: 2,\r\n removeDependency: 3,\r\n taskInformation: 4,\r\n taskAddContextItem: 5,\r\n undo: 6,\r\n redo: 7,\r\n zoomIn: 8,\r\n zoomOut: 9,\r\n fullScreen: 10,\r\n collapseAll: 11,\r\n expandAll: 12\r\n};\r\nvar Bar = function() {\r\n function Bar(element, owner) {\r\n this._element = element;\r\n this._owner = owner;\r\n this._items = [];\r\n this._createControl()\r\n }\r\n var _proto = Bar.prototype;\r\n _proto.createItems = function(items) {\r\n this._cache = null;\r\n this._items = this._createItemsCore(items);\r\n this._menu.option(\"items\", this._items)\r\n };\r\n _proto._createItemsCore = function(items) {\r\n var _this = this;\r\n return items.map(function(item) {\r\n var result;\r\n if (\"string\" === typeof item) {\r\n result = _this._createItemByText(item)\r\n } else {\r\n result = item.name ? (0, _extend.extend)(_this._createItemByText(item.name), item) : (0, _extend.extend)(_this._getDefaultItemOptions(), item)\r\n }\r\n if (item.items) {\r\n result.items = _this._createItemsCore(item.items)\r\n }\r\n return result\r\n })\r\n };\r\n _proto._createItemByText = function(text) {\r\n switch (text.toLowerCase()) {\r\n case \"separator\":\r\n return this._createSeparator();\r\n case \"undo\":\r\n return this._createDefaultItem(COMMANDS.undo, _message.default.format(\"dxGantt-undo\"), this._getIcon(\"undo\"));\r\n case \"redo\":\r\n return this._createDefaultItem(COMMANDS.redo, _message.default.format(\"dxGantt-redo\"), this._getIcon(\"redo\"));\r\n case \"expandall\":\r\n return this._createDefaultItem(COMMANDS.expandAll, _message.default.format(\"dxGantt-expandAll\"), this._getIcon(\"expand\"));\r\n case \"collapseall\":\r\n return this._createDefaultItem(COMMANDS.collapseAll, _message.default.format(\"dxGantt-collapseAll\"), this._getIcon(\"collapse\"));\r\n case \"addtask\":\r\n return this._createDefaultItem(COMMANDS.createTask, _message.default.format(\"dxGantt-addNewTask\"), this._getIcon(\"add\"));\r\n case \"addsubtask\":\r\n return this._createDefaultItem(COMMANDS.createSubTask, _message.default.format(\"dxGantt-contextMenuNewSubtask\"), this._getIcon(\"add-sub-task\"));\r\n case \"deletetask\":\r\n return this._createDefaultItem(COMMANDS.removeTask, _message.default.format(\"dxGantt-deleteSelectedTask\"), this._getIcon(\"delete\"));\r\n case \"deletedependency\":\r\n return this._createDefaultItem(COMMANDS.removeDependency, _message.default.format(\"dxGantt-contextMenuDeleteDependency\"), this._getIcon(\"delete-dependency\"));\r\n case \"zoomin\":\r\n return this._createDefaultItem(COMMANDS.zoomIn, _message.default.format(\"dxGantt-zoomIn\"), this._getIcon(\"zoom-in\"));\r\n case \"zoomout\":\r\n return this._createDefaultItem(COMMANDS.zoomOut, _message.default.format(\"dxGantt-zoomOut\"), this._getIcon(\"zoom-out\"));\r\n case \"fullscreen\":\r\n return this._createDefaultItem(COMMANDS.fullScreen, _message.default.format(\"dxGantt-fullScreen\"), this._getIcon(\"full-screen\"));\r\n case \"taskdetails\":\r\n return this._createDefaultItem(COMMANDS.taskInformation, _message.default.format(\"dxGantt-dialogTaskDetailsTitle\") + \"...\", this._getIcon(\"task-details\"));\r\n default:\r\n return (0, _extend.extend)(this._getDefaultItemOptions(), {\r\n options: {\r\n text: text\r\n }\r\n })\r\n }\r\n };\r\n _proto._getDefaultItemOptions = function() {\r\n return {}\r\n };\r\n _proto._getItemsCache = function() {\r\n if (!this._cache) {\r\n this._cache = {};\r\n this._fillCache(this._items)\r\n }\r\n return this._cache\r\n };\r\n _proto._fillCache = function(items) {\r\n var _this2 = this;\r\n items.forEach(function(item) {\r\n var key = item.commandId;\r\n if (void 0 !== key) {\r\n if (!_this2._cache[key]) {\r\n _this2._cache[key] = []\r\n }\r\n _this2._cache[key].push(item)\r\n }\r\n if (item.items) {\r\n _this2._fillCache(item.items)\r\n }\r\n })\r\n };\r\n _proto._getIcon = function(name) {\r\n return \"dx-gantt-i dx-gantt-i-\" + name\r\n };\r\n _proto.getCommandKeys = function() {\r\n var itemsCache = this._getItemsCache();\r\n var result = [];\r\n for (var itemKey in itemsCache) {\r\n result.push(parseInt(itemKey))\r\n }\r\n return result\r\n };\r\n _proto.setItemEnabled = function(key, enabled) {\r\n var itemsCache = this._getItemsCache();\r\n itemsCache[key].forEach(function(item) {\r\n item.disabled = !enabled\r\n })\r\n };\r\n _proto.setItemVisible = function(key, visible) {\r\n var itemsCache = this._getItemsCache();\r\n itemsCache[key].forEach(function(item) {\r\n item.visible = visible\r\n })\r\n };\r\n _proto.setItemValue = function(_key, _value) {};\r\n _proto.setEnabled = function(enabled) {\r\n this._menu.option(\"disabled\", !enabled)\r\n };\r\n _proto.updateItemsList = function() {};\r\n _proto.isVisible = function() {\r\n return true\r\n };\r\n _proto.isContextMenu = function() {\r\n return false\r\n };\r\n _proto.completeUpdate = function() {};\r\n return Bar\r\n}();\r\nvar GanttToolbar = function(_Bar) {\r\n _inheritsLoose(GanttToolbar, _Bar);\r\n\r\n function GanttToolbar() {\r\n return _Bar.apply(this, arguments) || this\r\n }\r\n var _proto2 = GanttToolbar.prototype;\r\n _proto2._createControl = function() {\r\n var _this3 = this;\r\n this._menu = this._owner._createComponent(this._element, _toolbar.default, {\r\n onItemClick: function(e) {\r\n var commandId = e.itemData.commandId;\r\n if (void 0 !== commandId) {\r\n _this3._owner._executeCoreCommand(e.itemData.commandId)\r\n }\r\n }\r\n })\r\n };\r\n _proto2._createDefaultItem = function(commandId, hint, icon) {\r\n return {\r\n commandId: commandId,\r\n disabled: true,\r\n widget: \"dxButton\",\r\n location: \"before\",\r\n options: {\r\n icon: icon,\r\n stylingMode: \"text\",\r\n hint: hint\r\n }\r\n }\r\n };\r\n _proto2._createSeparator = function() {\r\n return {\r\n location: \"before\",\r\n template: function(_data, _index, element) {\r\n (0, _renderer.default)(element).addClass(TOOLBAR_SEPARATOR_CLASS)\r\n }\r\n }\r\n };\r\n _proto2._getDefaultItemOptions = function() {\r\n return {\r\n location: \"before\",\r\n widget: \"dxButton\"\r\n }\r\n };\r\n _proto2.completeUpdate = function() {\r\n this._menu.option(\"items\", this._items)\r\n };\r\n return GanttToolbar\r\n}(Bar);\r\nexports.GanttToolbar = GanttToolbar;\r\nvar GanttContextMenuBar = function(_Bar2) {\r\n _inheritsLoose(GanttContextMenuBar, _Bar2);\r\n\r\n function GanttContextMenuBar() {\r\n return _Bar2.apply(this, arguments) || this\r\n }\r\n var _proto3 = GanttContextMenuBar.prototype;\r\n _proto3._createControl = function() {\r\n var _this4 = this;\r\n this._menu = this._owner._createComponent(this._element, _context_menu.default, {\r\n showEvent: void 0,\r\n onItemClick: function(e) {\r\n if (void 0 !== e.itemData.commandId) {\r\n _this4._owner._executeCoreCommand(e.itemData.commandId)\r\n } else {\r\n if (void 0 !== e.itemData.name) {\r\n _this4._owner._raiseCustomCommand(e.itemData.name)\r\n }\r\n }\r\n }\r\n })\r\n };\r\n _proto3.createItems = function(items) {\r\n if (!items || 0 === items.length) {\r\n items = this._getDefaultItems()\r\n }\r\n _Bar2.prototype.createItems.call(this, items)\r\n };\r\n _proto3._getDefaultItems = function() {\r\n return [{\r\n text: _message.default.format(\"dxGantt-dialogButtonAdd\"),\r\n commandId: COMMANDS.taskAddContextItem,\r\n icon: this._getIcon(\"add\"),\r\n items: [{\r\n text: _message.default.format(\"dxGantt-contextMenuNewTask\"),\r\n commandId: COMMANDS.createTask,\r\n icon: this._getIcon(\"add-task\")\r\n }, {\r\n text: _message.default.format(\"dxGantt-contextMenuNewSubtask\"),\r\n commandId: COMMANDS.createSubTask,\r\n icon: this._getIcon(\"add-sub-task\")\r\n }]\r\n }, {\r\n text: _message.default.format(\"dxGantt-dialogTaskDetailsTitle\") + \"...\",\r\n commandId: COMMANDS.taskInformation,\r\n icon: this._getIcon(\"task-details\")\r\n }, {\r\n text: _message.default.format(\"dxGantt-contextMenuDeleteTask\"),\r\n commandId: COMMANDS.removeTask,\r\n icon: this._getIcon(\"delete\")\r\n }, {\r\n text: _message.default.format(\"dxGantt-contextMenuDeleteDependency\"),\r\n commandId: COMMANDS.removeDependency,\r\n icon: this._getIcon(\"delete-dependency\")\r\n }]\r\n };\r\n _proto3._createDefaultItem = function(commandId, text, icon) {\r\n return {\r\n commandId: commandId,\r\n text: text,\r\n icon: icon\r\n }\r\n };\r\n _proto3.show = function(point, items) {\r\n this._menu.option(\"items\", items || this._items);\r\n this._menu.option(\"position.offset\", {\r\n x: point.x,\r\n y: point.y\r\n });\r\n this._menu.show()\r\n };\r\n _proto3.isContextMenu = function() {\r\n return true\r\n };\r\n return GanttContextMenuBar\r\n}(Bar);\r\nexports.GanttContextMenuBar = GanttContextMenuBar;\r\n","/**\r\n * DevExtreme (ui/gantt/ui.gantt.data.option.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _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 _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 DataOption = function(_Component) {\r\n _inheritsLoose(DataOption, _Component);\r\n\r\n function DataOption(optionName, loadPanel, dataSourceChangedCallback) {\r\n var _this;\r\n _this = _Component.call(this) || this;\r\n _this._optionName = optionName;\r\n _this._loadPanel = loadPanel;\r\n _this._dataSourceChangedCallback = dataSourceChangedCallback;\r\n return _this\r\n }\r\n var _proto = DataOption.prototype;\r\n _proto.insert = function(data, callback, errorCallback) {\r\n var _this2 = this;\r\n this._showLoadPanel();\r\n this._getStore().insert(data).done(function(response) {\r\n if (callback) {\r\n callback(response)\r\n }\r\n _this2._hideLoadPanel()\r\n }).fail(function(error) {\r\n if (errorCallback) {\r\n errorCallback(error)\r\n }\r\n _this2._hideLoadPanel()\r\n })\r\n };\r\n _proto.update = function(key, data, callback, errorCallback) {\r\n var _this3 = this;\r\n this._showLoadPanel();\r\n this._getStore().update(key, data).done(function(data, key) {\r\n if (callback) {\r\n callback(data, key)\r\n }\r\n _this3._hideLoadPanel()\r\n }).fail(function(error) {\r\n if (errorCallback) {\r\n errorCallback(error)\r\n }\r\n _this3._hideLoadPanel()\r\n })\r\n };\r\n _proto.remove = function(key, callback, errorCallback) {\r\n var _this4 = this;\r\n this._showLoadPanel();\r\n this._getStore().remove(key).done(function(key) {\r\n if (callback) {\r\n callback(key)\r\n }\r\n _this4._hideLoadPanel()\r\n }).fail(function(error) {\r\n if (errorCallback) {\r\n errorCallback(error)\r\n }\r\n _this4._hideLoadPanel()\r\n })\r\n };\r\n _proto._dataSourceChangedHandler = function(newItems, e) {\r\n this._dataSourceChangedCallback(this._optionName, newItems)\r\n };\r\n _proto._dataSourceOptions = function() {\r\n return {\r\n paginate: false\r\n }\r\n };\r\n _proto._dataSourceLoadingChangedHandler = function(isLoading) {\r\n if (isLoading && !this._dataSource.isLoaded()) {\r\n this._showLoadPanel()\r\n } else {\r\n this._hideLoadPanel()\r\n }\r\n };\r\n _proto._showLoadPanel = function() {\r\n this._loadPanel.show()\r\n };\r\n _proto._hideLoadPanel = function() {\r\n this._loadPanel.hide()\r\n };\r\n _proto._getStore = function() {\r\n return this._dataSource.store()\r\n };\r\n _proto._getItems = function() {\r\n return this._getStore()._array || this._dataSource.items()\r\n };\r\n return DataOption\r\n}(_component.default);\r\nDataOption.include(_data_helper.default);\r\nvar _default = DataOption;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/gantt/ui.gantt.dialogs.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.GanttDialog = void 0;\r\nvar _popup = _interopRequireDefault(require(\"../popup\"));\r\nvar _form = _interopRequireDefault(require(\"../form\"));\r\nrequire(\"../tag_box\");\r\nrequire(\"../radio_group\");\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\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 GanttDialog = function() {\r\n function GanttDialog(owner, $element) {\r\n this._popupInstance = owner._createComponent($element, _popup.default);\r\n this.infoMap = {\r\n TaskEdit: TaskEditDialogInfo,\r\n Resources: ResourcesEditDialogInfo,\r\n Confirmation: ConfirmDialogInfo,\r\n ConstraintViolation: ConstraintViolationDialogInfo\r\n }\r\n }\r\n var _proto = GanttDialog.prototype;\r\n _proto._apply = function() {\r\n if (this._dialogInfo.isValidated()) {\r\n var result = this._dialogInfo.getResult();\r\n this._callback(result);\r\n this.hide()\r\n }\r\n };\r\n _proto.show = function(name, parameters, callback, afterClosing, editingOptions) {\r\n this._callback = callback;\r\n this._afterClosing = afterClosing;\r\n if (!this.infoMap[name]) {\r\n return\r\n }\r\n this._dialogInfo = new this.infoMap[name](parameters, this._apply.bind(this), this.hide.bind(this), editingOptions);\r\n this._popupInstance.option({\r\n showTitle: !!this._dialogInfo.getTitle(),\r\n title: this._dialogInfo.getTitle(),\r\n toolbarItems: this._dialogInfo.getToolbarItems(),\r\n maxWidth: this._dialogInfo.getMaxWidth(),\r\n height: this._dialogInfo.getHeight(),\r\n contentTemplate: this._dialogInfo.getContentTemplate()\r\n });\r\n this._popupInstance.show()\r\n };\r\n _proto.hide = function() {\r\n this._popupInstance.hide();\r\n if (this._afterClosing) {\r\n this._afterClosing()\r\n }\r\n };\r\n return GanttDialog\r\n}();\r\nexports.GanttDialog = GanttDialog;\r\nvar DialogInfoBase = function() {\r\n function DialogInfoBase(parameters, applyAction, hideAction, editingOptions) {\r\n this._parameters = parameters;\r\n this._applyAction = applyAction;\r\n this._hideAction = hideAction;\r\n this._editingOptions = editingOptions\r\n }\r\n var _proto2 = DialogInfoBase.prototype;\r\n _proto2._getFormItems = function() {\r\n return {}\r\n };\r\n _proto2._getFormCssClass = function() {\r\n return \"\"\r\n };\r\n _proto2._getFormData = function() {\r\n return this._parameters\r\n };\r\n _proto2._updateParameters = function() {};\r\n _proto2._getOkToolbarItem = function() {\r\n return this._getToolbarItem(\"OK\", this._applyAction)\r\n };\r\n _proto2._getCancelToolbarItem = function() {\r\n return this._getToolbarItem(\"Cancel\", this._hideAction)\r\n };\r\n _proto2._getYesToolbarItem = function() {\r\n return this._getToolbarItem(\"Yes\", this._applyAction)\r\n };\r\n _proto2._getNoToolbarItem = function() {\r\n return this._getToolbarItem(\"No\", this._hideAction)\r\n };\r\n _proto2._getToolbarItem = function(localizationText, action) {\r\n return {\r\n widget: \"dxButton\",\r\n toolbar: \"bottom\",\r\n options: {\r\n text: _message.default.format(localizationText),\r\n onClick: action\r\n }\r\n }\r\n };\r\n _proto2.getTitle = function() {\r\n return \"\"\r\n };\r\n _proto2.getToolbarItems = function() {\r\n return this._editingOptions.enabled ? [this._getOkToolbarItem(), this._getCancelToolbarItem()] : [this._getCancelToolbarItem()]\r\n };\r\n _proto2.getMaxWidth = function() {\r\n return 400\r\n };\r\n _proto2.getHeight = function() {\r\n return \"auto\"\r\n };\r\n _proto2.getContentTemplate = function() {\r\n var _this = this;\r\n return function(content) {\r\n _this._form = new _form.default(content, {\r\n formData: _this._getFormData(),\r\n items: _this._getFormItems(),\r\n elementAttr: {\r\n \"class\": _this._getFormCssClass()\r\n }\r\n });\r\n return content\r\n }\r\n };\r\n _proto2.getResult = function() {\r\n var formData = this._form && this._form.option(\"formData\");\r\n this._updateParameters(formData);\r\n return this._parameters\r\n };\r\n _proto2.isValidated = function() {\r\n return true\r\n };\r\n return DialogInfoBase\r\n}();\r\nvar TaskEditDialogInfo = function(_DialogInfoBase) {\r\n _inheritsLoose(TaskEditDialogInfo, _DialogInfoBase);\r\n\r\n function TaskEditDialogInfo() {\r\n return _DialogInfoBase.apply(this, arguments) || this\r\n }\r\n var _proto3 = TaskEditDialogInfo.prototype;\r\n _proto3.getTitle = function() {\r\n return _message.default.format(\"dxGantt-dialogTaskDetailsTitle\")\r\n };\r\n _proto3._getFormItems = function() {\r\n var _this2 = this;\r\n var readOnly = !this._editingOptions.enabled || !this._editingOptions.allowTaskUpdating;\r\n var readOnlyRange = readOnly || !this._parameters.enableRangeEdit;\r\n return [{\r\n dataField: \"title\",\r\n editorType: \"dxTextBox\",\r\n label: {\r\n text: _message.default.format(\"dxGantt-dialogTitle\")\r\n },\r\n editorOptions: {\r\n readOnly: readOnly || this._isReadOnlyField(\"title\")\r\n },\r\n visible: !this._isHiddenField(\"title\")\r\n }, {\r\n dataField: \"start\",\r\n editorType: \"dxDateBox\",\r\n label: {\r\n text: _message.default.format(\"dxGantt-dialogStartTitle\")\r\n },\r\n editorOptions: {\r\n type: \"datetime\",\r\n width: \"100%\",\r\n readOnly: readOnlyRange || this._isReadOnlyField(\"start\")\r\n },\r\n visible: !this._isHiddenField(\"start\"),\r\n validationRules: [{\r\n type: \"required\",\r\n message: _message.default.format(\"validation-required-formatted\", _message.default.format(\"dxGantt-dialogStartTitle\"))\r\n }]\r\n }, {\r\n dataField: \"end\",\r\n editorType: \"dxDateBox\",\r\n label: {\r\n text: _message.default.format(\"dxGantt-dialogEndTitle\")\r\n },\r\n editorOptions: {\r\n type: \"datetime\",\r\n width: \"100%\",\r\n readOnly: readOnlyRange || this._isReadOnlyField(\"end\")\r\n },\r\n visible: !this._isHiddenField(\"end\"),\r\n validationRules: [{\r\n type: \"required\",\r\n message: _message.default.format(\"validation-required-formatted\", _message.default.format(\"dxGantt-dialogEndTitle\"))\r\n }]\r\n }, {\r\n dataField: \"progress\",\r\n editorType: \"dxNumberBox\",\r\n label: {\r\n text: _message.default.format(\"dxGantt-dialogProgressTitle\")\r\n },\r\n editorOptions: {\r\n showSpinButtons: true,\r\n min: 0,\r\n max: 1,\r\n format: \"#0%\",\r\n step: .01,\r\n readOnly: readOnlyRange || this._isReadOnlyField(\"progress\")\r\n },\r\n visible: !this._isHiddenField(\"progress\")\r\n }, {\r\n dataField: \"assigned.items\",\r\n editorType: \"dxTagBox\",\r\n label: {\r\n text: _message.default.format(\"dxGantt-dialogResourcesTitle\")\r\n },\r\n editorOptions: {\r\n readOnly: readOnly || !this._editingOptions.allowTaskResourceUpdating,\r\n dataSource: this._parameters.resources.items,\r\n displayExpr: \"text\",\r\n buttons: [{\r\n name: \"editResources\",\r\n location: \"after\",\r\n options: {\r\n disabled: !this._editingOptions.allowResourceAdding && !this._editingOptions.allowResourceDeleting,\r\n text: \"...\",\r\n hint: _message.default.format(\"dxGantt-dialogEditResourceListHint\"),\r\n onClick: function() {\r\n var showTaskEditDialogCallback = function() {\r\n _this2._parameters.showTaskEditDialogCommand.execute()\r\n };\r\n _this2._parameters.showResourcesDialogCommand.execute(showTaskEditDialogCallback)\r\n }\r\n }\r\n }]\r\n }\r\n }]\r\n };\r\n _proto3._isReadOnlyField = function(field) {\r\n return this._parameters.readOnlyFields.indexOf(field) > -1\r\n };\r\n _proto3._isHiddenField = function(field) {\r\n return this._parameters.hiddenFields.indexOf(field) > -1\r\n };\r\n _proto3._getFormData = function() {\r\n var data = {};\r\n for (var field in this._parameters) {\r\n data[field] = \"progress\" === field ? this._parameters[field] / 100 : this._parameters[field]\r\n }\r\n return data\r\n };\r\n _proto3._updateParameters = function(formData) {\r\n this._parameters.title = formData.title;\r\n this._parameters.start = formData.start;\r\n this._parameters.end = formData.end;\r\n this._parameters.progress = 100 * formData.progress;\r\n this._parameters.assigned = formData.assigned\r\n };\r\n _proto3.isValidated = function() {\r\n var _this$_form;\r\n var validationResult = null === (_this$_form = this._form) || void 0 === _this$_form ? void 0 : _this$_form.validate();\r\n return null === validationResult || void 0 === validationResult ? void 0 : validationResult.isValid\r\n };\r\n return TaskEditDialogInfo\r\n}(DialogInfoBase);\r\nvar ResourcesEditDialogInfo = function(_DialogInfoBase2) {\r\n _inheritsLoose(ResourcesEditDialogInfo, _DialogInfoBase2);\r\n\r\n function ResourcesEditDialogInfo() {\r\n return _DialogInfoBase2.apply(this, arguments) || this\r\n }\r\n var _proto4 = ResourcesEditDialogInfo.prototype;\r\n _proto4.getTitle = function() {\r\n return _message.default.format(\"dxGantt-dialogResourceManagerTitle\")\r\n };\r\n _proto4._getFormItems = function() {\r\n var _this3 = this;\r\n return [{\r\n label: {\r\n visible: false\r\n },\r\n dataField: \"resources.items\",\r\n editorType: \"dxList\",\r\n editorOptions: {\r\n allowItemDeleting: this._editingOptions.enabled && this._editingOptions.allowResourceDeleting,\r\n itemDeleteMode: \"static\",\r\n selectionMode: \"none\",\r\n items: this._parameters.resources.items,\r\n height: 250,\r\n noDataText: _message.default.format(\"dxGantt-dialogEditNoResources\"),\r\n onInitialized: function(e) {\r\n _this3.list = e.component\r\n },\r\n onItemDeleted: function(e) {\r\n _this3._parameters.resources.remove(e.itemData)\r\n }\r\n }\r\n }, {\r\n label: {\r\n visible: false\r\n },\r\n editorType: \"dxTextBox\",\r\n editorOptions: {\r\n readOnly: !this._editingOptions.enabled || !this._editingOptions.allowResourceAdding,\r\n onInitialized: function(e) {\r\n _this3.textBox = e.component\r\n },\r\n onInput: function(e) {\r\n var addButton = e.component.getButton(\"addResource\");\r\n var resourceName = e.component.option(\"text\");\r\n addButton.option(\"disabled\", 0 === resourceName.length)\r\n },\r\n buttons: [{\r\n name: \"addResource\",\r\n location: \"after\",\r\n options: {\r\n text: _message.default.format(\"dxGantt-dialogButtonAdd\"),\r\n disabled: true,\r\n onClick: function(e) {\r\n var newItem = _this3._parameters.resources.createItem();\r\n newItem.text = _this3.textBox.option(\"text\");\r\n _this3._parameters.resources.add(newItem);\r\n _this3.list.option(\"items\", _this3._parameters.resources.items);\r\n _this3.list.scrollToItem(newItem);\r\n _this3.textBox.reset();\r\n e.component.option(\"disabled\", true)\r\n }\r\n }\r\n }]\r\n }\r\n }]\r\n };\r\n return ResourcesEditDialogInfo\r\n}(DialogInfoBase);\r\nvar ConfirmDialogInfo = function(_DialogInfoBase3) {\r\n _inheritsLoose(ConfirmDialogInfo, _DialogInfoBase3);\r\n\r\n function ConfirmDialogInfo() {\r\n return _DialogInfoBase3.apply(this, arguments) || this\r\n }\r\n var _proto5 = ConfirmDialogInfo.prototype;\r\n _proto5.getContentTemplate = function() {\r\n var _this4 = this;\r\n return function(content) {\r\n return _this4._getConfirmMessage()\r\n }\r\n };\r\n _proto5._getConfirmMessage = function() {\r\n switch (this._parameters.type) {\r\n case 0:\r\n return _message.default.format(\"dxGantt-dialogTaskDeleteConfirmation\");\r\n case 1:\r\n return _message.default.format(\"dxGantt-dialogDependencyDeleteConfirmation\");\r\n case 2:\r\n return _message.default.format(\"dxGantt-dialogResourcesDeleteConfirmation\", this._parameters.message);\r\n default:\r\n return \"\"\r\n }\r\n };\r\n _proto5.getToolbarItems = function() {\r\n return [this._getYesToolbarItem(), this._getNoToolbarItem()]\r\n };\r\n return ConfirmDialogInfo\r\n}(DialogInfoBase);\r\nvar ConstraintViolationDialogInfo = function(_DialogInfoBase4) {\r\n _inheritsLoose(ConstraintViolationDialogInfo, _DialogInfoBase4);\r\n\r\n function ConstraintViolationDialogInfo() {\r\n return _DialogInfoBase4.apply(this, arguments) || this\r\n }\r\n var _proto6 = ConstraintViolationDialogInfo.prototype;\r\n _proto6._getFormItems = function() {\r\n var items = [];\r\n items.push({\r\n text: _message.default.format(\"dxGantt-dialogCancelOperationMessage\"),\r\n value: 0\r\n });\r\n items.push({\r\n text: _message.default.format(\"dxGantt-dialogDeleteDependencyMessage\"),\r\n value: 1\r\n });\r\n if (!this._parameters.validationError.critical) {\r\n items.push({\r\n text: _message.default.format(\"dxGantt-dialogMoveTaskAndKeepDependencyMessage\"),\r\n value: 2\r\n })\r\n }\r\n return [{\r\n template: this._parameters.validationError.critical ? _message.default.format(\"dxGantt-dialogConstraintCriticalViolationMessage\") : _message.default.format(\"dxGantt-dialogConstraintViolationMessage\")\r\n }, {\r\n cssClass: \"dx-cv-dialog-row\",\r\n dataField: \"option\",\r\n label: {\r\n visible: false\r\n },\r\n editorType: \"dxRadioGroup\",\r\n editorOptions: {\r\n items: items,\r\n valueExpr: \"value\",\r\n value: 0\r\n }\r\n }]\r\n };\r\n _proto6._getFormCssClass = function() {\r\n return \"dx-cv-dialog\"\r\n };\r\n _proto6._updateParameters = function(formData) {\r\n this._parameters.option = formData.option\r\n };\r\n return ConstraintViolationDialogInfo\r\n}(DialogInfoBase);\r\n","/**\r\n * DevExtreme (ui/gantt/ui.gantt.cache.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.GanttDataCache = void 0;\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar GanttDataCache = function() {\r\n function GanttDataCache() {\r\n this._cache = {};\r\n this._timers = {}\r\n }\r\n var _proto = GanttDataCache.prototype;\r\n _proto.saveData = function(key, data, keyExpireCallback) {\r\n if (data) {\r\n this._clearTimer(key);\r\n var storage = this._getCache(key, true);\r\n (0, _extend.extendFromObject)(storage, data, true);\r\n if (keyExpireCallback) {\r\n this._setExpireTimer(key, keyExpireCallback)\r\n }\r\n }\r\n };\r\n _proto.pullDataFromCache = function(key, target) {\r\n var data = this._getCache(key);\r\n if (data) {\r\n (0, _extend.extendFromObject)(target, data)\r\n }\r\n this._onKeyExpired(key)\r\n };\r\n _proto.hasData = function(key) {\r\n return !!this._cache[key]\r\n };\r\n _proto._getCache = function(key, forceCreate) {\r\n if (!this._cache[key] && forceCreate) {\r\n this._cache[key] = {}\r\n }\r\n return this._cache[key]\r\n };\r\n _proto._setExpireTimer = function(key, callback) {\r\n var _this = this;\r\n this._timers[key] = setTimeout(function() {\r\n callback(key, _this._getCache(key));\r\n _this._onKeyExpired(key)\r\n }, 200)\r\n };\r\n _proto._onKeyExpired = function(key) {\r\n this._clearCache(key);\r\n this._clearTimer(key)\r\n };\r\n _proto._clearCache = function(key) {\r\n delete this._cache[key]\r\n };\r\n _proto._clearTimer = function(key) {\r\n var timers = this._timers;\r\n if (timers && timers[key]) {\r\n clearTimeout(timers[key]);\r\n delete timers[key]\r\n }\r\n };\r\n return GanttDataCache\r\n}();\r\nexports.GanttDataCache = GanttDataCache;\r\n"],"sourceRoot":""}